IP Library Granted Patent US 7,152,157
Granted Patent B2
US 7,152,157 · App. 10/382,427 · Granted Dec 19, 2006

System and method for dynamic resource configuration using a dependency graph

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,152,157
App. No.
10/382,427
Granted
Dec 19, 2006
Kind
B2
Abstract

A system and method for predicting whether a dynamic reconfiguration of a resource of a resource domain would be successful, prior to attempting the reconfiguration. A resource domain includes one or more computer resources (e.g., physical, logical and pseudo devices) and a graph management agent configured to maintain a graph representing the resources and dependencies between resources. Vertices of the graph represent resources; edges represent dependencies. A resource domain may also include a set of policies or constraints regarding resources and reconfigurations of resources. An illustrative constraint may specify that a particular resource (e.g., a multi-pathed logical device) must have a minimal number of paths (e.g., two). The graph agent identifies the effect the dynamic reconfiguration operation would have upon the resources and dependencies, and determines whether any constraints would be violated. If no constraints would be violated, the graph management agent may indicate that the reconfiguration would succeed.

Claims (59)

1. A method of facilitating dynamic reconfiguration of computer system resources, comprising:

initializing a set of physical devices within a domain of computer resources;

creating a set of logical devices based on the physical devices;

generating a resource dependency graph for the domain, wherein:

each vertex of said resource dependency graph represents one of the physical or logical devices; and

each edge of said resource dependency graph represents a dependency between two devices, each of which is either a physical device or a logical device;

updating said resource dependency graph to reflect the creation, deletion or removal of a dependency between a first device and a second device, wherein each of the first device and the second device is a member of one of the set of physical devices or the set of logical devices; and

predicting, from said resource dependency graph, whether a first dynamic reconfiguration operation is likely to be successful;

wherein the computer system comprises a kernel and said kernel comprises a graph agent configured to perform said updating.

2. The method of claim 1 , further comprising:

executing said first dynamic reconfiguration operation if said first dynamic reconfiguration operation is likely to be successful.

3. The method of claim 1 , further comprising:

if said first dynamic reconfiguration operation is likely to be successful, automatically executing said first dynamic reconfiguration operation.

4. The method of claim 1 , wherein said initializing comprises:

initializing a third device, wherein said third device is a member of the set of physical devices; and

adding to said resource dependency graph a first vertex representing said third device.

5. The method of claim 4 , wherein said initializing said first physical device and said adding are performed by a device driver associated with said third device.

6. The method of claim 4 , wherein said adding is performed by the graph agent, and wherein the graph agent is called by a device driver configured to drive operation of said third device.

7. The method of claim 1 , wherein said initializing comprises:

initializing a third device with a device driver, wherein said third device is a member of the set of physical devices; and

posting information regarding said third device, for use in maintaining said resource dependency graph.

8. The method of claim 1 , wherein said initializing comprises:

initializing a third device with a device driver, wherein said third device is a member of the set of physical devices; and

identifying a procedure for including said third device in said resource dependency graph.

9. The method of claim 1 , wherein said creating comprises:

generating a third device, wherein said third device is a member of the set of logical devices; and

adding to said resource dependency graph a vertex representing said third device.

10. The method of claim 9 , wherein said adding is performed by the graph agent, and the graph agent is called by a generator of said third device.

11. The method of claim 1 , wherein said creating comprises:

generating a third device, wherein said third device is a member of the set of logical devices; and

posting information regarding said third device, for use in maintaining said resource dependency graph.

12. The method of claim 1 , wherein said creating comprises:

generating a third device, wherein said third device is a member of the set of logical devices; and

identifying a procedure for including said third device in said resource dependency graph.

13. The method of claim 1 , wherein said generating comprises:

executing the graph agent to:

identify the physical devices and the logical devices; and

identify dependencies involving the physical devices and the logical devices.

14. The method of claim 1 , wherein said updating comprises:

from said resource dependency graph, identifying said dependency between the first device and the second device;

locking one or more of the first device and the second device; and

removing one or more of the first device and the second device from the domain.

15. The method of claim 1 , wherein said generating comprises:

for each of the physical devices and each of the logical devices, executing the graph agent to add to said resource dependency graph a vertex corresponding to the device.

16. The method of claim 15 , wherein said graph agent is configured to invoke a device driver associated with a third device, wherein said third device is a member of the set of physical devices.

17. The method of claim 15 , wherein said graph agent is configured to invoke a series of processor executable instructions associated with a third device, wherein said third device is a member of the set of logical devices.

18. The method of claim 1 , wherein said predicting is performed by the graph agent and the graph agent is configured to maintain said resource dependency graph.

19. The method of claim 18 , wherein said predicting comprises determining whether said first dynamic reconfiguration operation would violate any constraints associated with the domain.

20. The method of claim 1 , further comprising:

maintaining a set of constraints on said resource dependency graph.

21. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of facilitating dynamic reconfiguration of computer system resources, the method comprising:

initializing a set of physical devices within a domain of computer resources;

creating a set of logical devices based on the physical devices;

generating a resource dependency graph for the domain, wherein:

each vertex of said resource dependency graph represents one of the physical or logical devices; and

each edge of said resource dependency graph represents a dependency between two devices, each of which is either a physical device or a logical device;

updating said resource dependency graph to reflect the creation, deletion or removal of a dependency between a first device and a second device, wherein each of the first device and the second device is a member of one of the set of physical devices or the set of logical devices; and

predicting, from said resource dependency graph, whether a first dynamic reconfiguration operation is likely to be successful;

wherein the computer system comprises a kernel and said kernel comprises a graph agent configured to perform said updating.

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 037302/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2003
From: MURPHY, RICHARD C.; CARTER, SCOTT M.; ORNELAS, MARIO G.; DESHPANDE, SHRIKANT
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013846/0124 →