IP Library Granted Patent US 7,870,539
Granted Patent B2
US 7,870,539 · App. 11/510,702 · Granted Jan 11, 2011

System and method for cross-channel dependency resolution in a dependency model

Assignee: Oracle America, 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,870,539
App. No.
11/510,702
Granted
Jan 11, 2011
Kind
B2
Abstract

A knowledge generation machine (KGM) that performs cross-channel dependency resolution is provided. The conventional dependency resolution process often treats irresolvable cross-channel references as an error state, thus ignoring sometimes critical software dependency information. By performing post-processing cross-channel resolution on the dependency model, the KGM can create a robust dependency model that includes dependencies for a software component in multiple segments of information. The dependency model is not restricted to modeling a single segmented space.

Claims (42)

1. A method in a data processing system for resolving cross-channel dependencies in a dependency model, the method comprising the steps of:

with a knowledge generation machine provided by a processor, validating a dependency model in a first channel, wherein the dependency model includes dependency information about a software component, and the dependency information is segmented into channels;

detecting an unresolved dependency in the first channel with the knowledge generation machine including determining that a declared dependency is outside of the first channel, the first channel defining a first segmentation of software products by one of version, operating system, hardware version, and hardware architecture;

realizing the unresolved dependency in a second channel with the knowledge generation machine, the second channel defining a second segmentation of software products by one of version, operating system, hardware version, and hardware architecture and the first segmentation differing from the second segmentation; and resolving the unresolved dependency with the knowledge generation machine, wherein realizing the unresolved dependency includes:

performing a search in a knowledge model for at least the second channel; and finding an element that resolves the unresolved dependency in the second channel.

2. The method of claim 1 , wherein resolving the unresolved dependency includes creating a hard dependency in the dependency model between the software component and the element.

3. The method of claim 1 , further comprising removing circular dependencies from the dependency model.

4. The method of claim 3 , wherein removing circular dependencies includes:

walking a dependency tree of the dependency model;

identifying cross-channel dependencies that create a circular dependency; and

removing one of the at least two dependencies comprised in the circular dependency.

5. The method of claim 4 , further comprising notifying a user of the circular dependency.

6. The method of claim 1 , further comprising identifying and tagging loose dependencies.

7. The method of claim 6 , wherein a loose dependency is a dependency that could not be resolved across a plurality of channels.

8. The method of claim 1 , further comprising deploying the dependency model to a user of the software component.

9. A computer-readable medium storing computer-readable instructions for performing a method in a data processing system for resolving cross-channel dependencies in a dependency model, and the dependency information is segmented into channels, the method comprising the steps of:

validating a dependency model in a first channel, wherein the dependency model includes dependency information about a software component, and the dependency information is segmented into channels;

detecting an unresolved dependency in the first channel;

realizing the unresolved dependency in a second channel; and

resolving the unresolved dependency,

wherein the detecting includes determining that a declared dependency is outside of the first channel, the first channel defining a first segmentation of software products by one of version, operating system, hardware version, and hardware architecture,

wherein the second channel defines a second segmentation of software products by one of version, operating system, hardware version, and hardware architecture and the first segmentation differing from the second segmentation,

wherein the realizing the unresolved dependency includes performing a search in a knowledge model for at least the second channel and finding an element that resolves the unresolved dependency in the second channel, and

wherein the resolving the unresolved dependency includes creating a hard dependency in the dependency model between the software component and the element.

10. The computer-readable medium of claim 9 , wherein detecting an unresolved dependency includes determining that a declared dependency is outside of the first channel.

11. The computer-readable medium of claim 9 , further comprising removing circular dependencies from the dependency model.

12. The computer-readable medium of claim 11 , wherein removing circular dependencies includes:

walking a dependency tree of the dependency model;

identifying cross-channel dependencies that create a circular dependency; and

removing one of the at least two dependencies comprised in the circular dependency.

13. The computer-readable medium of claim 12 , further comprising notifying a user of the circular dependency.

14. The computer-readable medium of claim 9 , further comprising identifying and tagging loose dependencies.

15. The computer-readable medium of claim 14 , wherein a loose dependency is a dependency that could not be resolved across a plurality of channels.

16. A data processing system performing a method for resolving cross-channel dependencies in a dependency model, the system comprising:

a memory storing a program that validates a dependency model in a first channel, detects an unresolved dependency in the first channel, realizes the unresolved dependency in a second channel, and resolves the unresolved dependency; and

a processor executing the program,

wherein the dependency model includes dependency information about a software component, and the dependency information is segmented into channels,

wherein the detecting includes determining that a declared dependency is outside of the first channel, the first channel defining a first segmentation of software products by one of version, operating system, hardware version, and hardware architecture,

wherein the second channel defines a second segmentation of software products by one of version, operating system, hardware version, and hardware architecture and the first segmentation differing from the second segmentation, and

wherein the realizing the unresolved dependency includes performing a search in a knowledge model for at least the second channel and finding an element that resolves the unresolved dependency in the second channel.

17. The method of claim 4 , wherein the removed one of the at least two dependencies is a least-weighted dependency of the at least two dependencies.

18. The computer-readable medium of claim 12 , wherein the removed one of the at least two dependencies is a least-weighted dependency of the at least two dependencies.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037306/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2006
From: WOOKEY, MICHAEL J.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018253/0581 →
Continuity (1)
Related Publication 20080052676A1 · Feb 28, 2008