IP Library Granted Patent US 7,523,128
Granted Patent B1
US 7,523,128 · App. 10/802,178 · Granted Apr 21, 2009

Method and system for discovering relationships

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,523,128
App. No.
10/802,178
Granted
Apr 21, 2009
Kind
B1
Abstract

Embodiments of the present invention provide systems and methods for relationship discovery. According to one embodiment of the present invention, arbitrarily complex relationship discovery rules can be applied to components in a data model to determine if a relationship exists between the components. If the components satisfy a relationship discovery rule, a relationship can be established for the components. Because the relationships are established based on the application of relationship discovery rules rather than through enforcement of a database schema, new relationships and relationship types can be established without having to alter the underlying database schema. Additionally, because rules can be repetitively applied, relationships can be established, deleted and updated as the system being modeled changes.

Claims (41)

1. A computer program product stored on a computer readable storage medium for discovering relationships in an arbitrarily complex environment, the computer program product comprising a computer program, wherein the computer program comprises instructions executable by a processor to:

represent a first entity in a system being modeled with a first component of a first type of component in a data model, wherein the first component has a set of fields which contain information relating to the first entity, wherein at least one field in the set of fields contains information about the first type of component, and wherein the first entity is a logical or physical entity in the arbitrarily complex environment;

represent a second entity in the system being modeled with a second component of a second type of component in the data model, wherein the second component has a set of fields which contain information relating to the second entity, wherein at least one field in the set of fields contains information about the second type of component, and wherein the second entity is a logical or physical entity in the arbitrarily complex environment;

establish, maintain, delete and update one or more relationship discovery rules for analyzing one or more of information contained in one or more fields in the first component and information contained in one or more fields in the second component, one or more of data values associated with the first component and data values associated with the second component, and one or more references to a relationship discovery rule;

select a relationship discovery rule from the set of relationship discovery rules based on the type of component associated with the first component;

associate the selected relationship discovery rule with the first component;

apply the selected relationship discovery rule to the second component;

establish a relationship between the first component and the second component according to the relationship discovery rule, wherein the relationship represents an association between the first entity and the second entity in the system, and wherein each relationship contains a set of fields which contain information pertinent to the association, wherein one field of the set of fields contains information about type of relationship; and

repeat one or more of selecting a relationship discovery rule from the set of relationship discovery rules, associating the selected relationship discovery rule with a first component, applying the selected relationship discovery rule with the second component to establish, delete or update a relationship when changes are made to the data model.

2. The computer program product of claim 1 , wherein the relationship represents a dependency between the first entity and the second entity.

3. The computer program product of claim 1 , wherein the relationship discovery rule further comprises a set of criteria.

4. The computer program product of claim 3 , wherein a criterion from the set of criteria specifies that at least one property of the second component must have a particular value.

5. The computer program product of claim 3 , wherein a criterion from the set of criteria specifies that the second component must be of a particular component type for the second component to be in the relationship with the first component.

6. The computer program product of claim 3 , wherein a criterion from the set of criteria specifies that the second component must be in an already established relationship for the second component to be in the relationship with the first component.

7. The computer program product of claim 1 , wherein the first component and the second component are maintained according to a generic data model.

8. The computer program product of claim 7 , wherein the relationship discovery rule further comprises an executable script.

9. The computer program product of claim 8 , wherein the computer program comprises instructions executable to associate the script with a first component type of which the first component is a member.

10. The computer program product of claim 9 , wherein the computer program comprises instructions executable to determine whether the second component should be in a relationship with the first component based on one or more criteria specified in the script.

11. The computer program product of claim 9 , wherein the computer program further comprises instructions executable to store the relationship in a first database table.

12. The computer program product of claim 11 , wherein the first component and second component are stored in a second database table separate from the first database table.

13. The computer program product of claim 7 , wherein the first component and the second component represent entities in an information technology (“IT”) environment.

14. A method for discovering relationships in an arbitrarily complex environment, comprising:

representing, by using a computer having a processor, a first entity in a system being modeled with a first component of a first type of component in a data model, wherein the first component has a set of fields, wherein at least one field in the set of fields contains information about the first type of component, wherein the set of fields are defined based on data model format and the system modeled and contains information relating to the first entity, and wherein the first entity is a logical or physical entity in the arbitrarily complex environment;

representing a second entity in the system being modeled with a second component of a second type of component, wherein the second component has a set of fields, wherein at least one field in the set of fields contains information about the second type of component, wherein the set of fields are defined based on the data model format and the system being modeled and contains information relating to the second entity, and wherein the second entity is a logical or physical entity in the arbitrarily complex environment;

establishing, maintaining, deleting and updating one or more relationship discovery rules for analyzing one or more of information contained in one or more fields in the first component and information contained in one or more fields in the second component, one or more of data values associated with the first component and data values associated with the second component, and one or more references to a relationship discovery rule;

selecting a relationship discovery rule from the set of relationship discovery rules based on the type of component associated with the first component;

associating the selected relationship discovery rule with the first component;

applying the selected relationship discovery rule to the second component;

establishing a relationship between the first component and the second component according to the relationship discovery rule, wherein the relationship represents an association between the first entity and the second entity in the system, and wherein each relationship contains a set of fields which contain information pertinent to the association, wherein one field of the set of fields contains information about type of relationship; and

repeating one or more of selecting a relationship discovery rule from the set of relationship discovery rules, associating the selected relationship discovery rule with a first component, applying the selected relationship discovery rule with the second component to establish, delete or update a relationship when changes are made to the data model.

15. The method of claim 14 , wherein the relationship represents a dependency between the first entity and the second entity.

16. The method of claim 14 , wherein the relationship discovery rule further comprises a set of criteria.

17. The method of claim 1 , wherein applying the relationship discovery rule to determine if the second component should be in a relationship with the first component further comprises determining if a property of the second component has a value meeting at least one criterion from the set of criteria.

18. The method of claim 16 , wherein applying the relationship discovery rule to determine if the second component should be in a relationship with the first component further comprises determining if the second component is of a particular component type.

19. The method of claim 16 , wherein applying the relationship discovery rule to determine if the second component should be in a relationship with the first component further comprises determining if the second component is in an already established relationship.

20. The method of claim 14 , further comprising storing the relationship in a first database table.

21. The method of claim 20 , wherein the first component and second component are stored in a second database table separate from the first database table.

22. The method of claim 20 , further comprising storing the relationship in a database table according to a generic data model.

23. The method of claim 22 , wherein the generic data model models an information technology (“IT”) environment.

24. The method of claim 14 , wherein maintaining a relationship discovery rule further comprises maintaining an executable script.

25. The method of claim 24 , further comprising associating the executable script with the first component.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2026
From: TROUX TECHNOLOGIES, INC
To: PLANVIEW, INC.
Reel/Frame 073774/0718 →
RELEASE OF SECURITY INTEREST Recorded Dec 23, 2020
From: ARES CAPITAL CORPORATION
To: PLANVIEW, INC.; INNOTAS; TROUX TECHNOLOGIES, INC.
Reel/Frame 054740/0865 →
SECOND LIEN SECURITY AGREEMENT Recorded Dec 18, 2020
From: PLANVIEW, INC.; SPIGIT, INC.; TROUX TECHNOLOGIES, INC.
To: UBS AG, STAMFORD BRANCH
Reel/Frame 054804/0543 →
FIRST LIEN SECURITY AGREEMENT Recorded Dec 17, 2020
From: PLANVIEW, INC.; SPIGIT, INC.; TROUX TECHNOLOGIES, INC.
To: UBS AG, STAMFORD BRANCH
Reel/Frame 054962/0236 →
RELEASE OF SECURITY INTEREST Recorded Jan 30, 2020
From: ARES CAPITAL CORPORATION
To: PLANVIEW, INC.; INNOTAS; TROUX TECHNOLOGIES, INC.
Reel/Frame 051672/0856 →
RELEASE OF SECURITY INTERESTS RECORDED AT REEL/FRAME 031847/0619, 035806/0285 AND 039636/0721 Recorded Jan 31, 2017
From: WELLS FARGO BANK, N.A.
To: PHNTM HOLDINGS, INC.; PLANVIEW, INC.; IDITAROD MERGER SUB, INC.; INNOTAS
Reel/Frame 041577/0763 →
RELEASE OF SECURITY INTEREST RECORDED AT 039387/0405 Recorded Jan 31, 2017
From: GUGGENHEIM CORPORATE FUNDING, LLC
To: PHNTM HOLDINGS, INC.; PLANVIEW, INC.; PLANVIEW DELAWARE, LLC; TROUX TECHNOLOGIES, INC,
Reel/Frame 041577/0794 →
SECURITY INTEREST Recorded Jan 27, 2017
From: PLANVIEW, INC.; INNOTAS; TROUX TECHNOLOGIES, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 041104/0844 →
SECURITY INTEREST Recorded Jan 27, 2017
From: PLANVIEW, INC.; INNOTAS; TROUX TECHNOLOGIES, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 041104/0380 →
SECURITY INTEREST Recorded Aug 9, 2016
From: PHNTM HOLDINGS, INC.; PLANVIEW, INC.; PLANVIEW DELAWARE, LLC; TROUX TECHNOLOGIES, INC.; INNOTAS
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 039387/0405 →
RELEASE OF SECURITY INTEREST Recorded Jul 8, 2016
From: SQUARE 1 BANK
To: TROUX TECHNOLOGIES INC.
Reel/Frame 039111/0740 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2015
From: TROUX TECHNOLOGIES INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 035806/0285 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE TO A SECURITY INTEREST AND NOT AN ASSIGNMENT OF ASSIGNOR'S INTEREST PREVIOUSLY RECORDED ON REEL 019432 FRAME 0400. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded May 4, 2015
From: TROUX TECHNOLOGIES, INC.
To: SQUARE 1 BANK
Reel/Frame 035638/0785 →