IP Library Granted Patent US 7,376,758
Granted Patent B2
US 7,376,758 · App. 11/407,614 · Granted May 20, 2008

I/O dependency graphs

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,376,758
App. No.
11/407,614
Granted
May 20, 2008
Kind
B2
Abstract

A method for executing a selected input/output (I/O) command from a plurality of I/O commands based on a dependency graph of I/O commands includes building the dependency graph of I/O commands, wherein the dependency graph is built by requiring all children of the selected I/O command to be ready before the selected I/O command is ready, and executing the I/O command based on the dependency graph, wherein execution of the selected I/O command is completed when all of the children of the selected I/O command finish execution.

Claims (26)

1. A method for executing a selected input/output (I/O) command from a plurality of I/O commands based on a dependency graph of I/O commands, comprising:

building the dependency graph of I/O commands, wherein the dependency graph is built by requiring all children of the selected I/O command to be ready before the selected I/O command is ready; and

executing the I/O command based on the dependency graph, wherein execution of the selected I/O command is completed when all of the children of the selected I/O command finish execution.

2. The method of claim 1 , wherein the method for selecting an I/O command based on a dependency graph of I/O commands is used to facilitate the operation of a file system.

3. The method of claim 1 , wherein the plurality of I/O commands is selected and executed in parallel based on the dependency graph.

4. The method of claim 1 , wherein instructions for readying the selected I/O command are executed after all children of the selected I/O command are ready.

5. The method of claim 1 , wherein instructions for completing the selected I/O command are executed after all children of the selected I/O command are finished executing.

6. A system for executing a selected input/output (I/O) command from a plurality of I/O commands based on a dependency graph of I/O commands, comprising:

a file system configured to:

build the dependency graph of I/O commands, wherein the dependency graph is built by requiring all children of the selected I/O command to be ready before the selected I/O command is ready; and

execute the I/O command based on the dependency graph, wherein execution of the selected I/O command is completed when all of the children of the selected I/O command finish execution.

7. The system of claim 6 , further comprising the plurality of children of the selected I/O command based on the dependency graph of I/O commands.

8. The system of claim 6 , wherein the system for executing a selected I/O command based on a dependency graph of I/O commands is used to facilitate the operation of a file system.

9. The system of claim 6 , wherein the plurality of I/O commands is selected and executed in parallel based on the dependency graph.

10. The system of claim 6 , wherein the dependency graph of I/O commands comprises:

a plurality of I/O commands; and

a plurality of edges connecting the I/O commands.

11. The system of claim 10 , wherein the plurality of edges connecting the I/O dependencies comprise directed edges.

12. The system of claim 10 , wherein the dependency graph of I/O commands is mapped from a hierarchical data configuration for storing data blocks and indirect blocks in a file system.

13. A computer usable medium having computer readable program code embodied therein for causing a computer system for executing a method for executing a selected input/output (I/O) command from a plurality of I/O commands based on a dependency graph of I/O commands, comprising:

building the dependency graph of I/O commands, wherein the dependency graph is built by requiring all children of the selected I/O command to be ready before the selected I/O command is ready; and

executing the I/O command based on the dependency graph, wherein execution of the selected I/O command is completed when all of the children of the selected I/O command finish execution.

14. The computer usable medium of claim 13 , wherein the method for executing a selected I/O command based on a dependency graph of I/O commands is used to facilitate the operation of a file system.

15. The computer usable medium of claim 13 , wherein a plurality of I/O commands is selected and executed in parallel based on the dependency graph.

16. The computer usable medium of claim 13 , wherein instructions for readying the selected I/O command are executed after all children of the selected I/O command are ready.

17. The computer usable medium of claim 13 , wherein instructions for completing the selected I/O command are executed after all children of the selected I/O command are finished executing.

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 037303/0025 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2006
From: BONWICK, JEFFREY S.; MOORE, WILLIAM H.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017803/0598 →