Identifying the owner responsible for processing I/O requests

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000

Reexamination Certificate

active

06349313

ABSTRACT:

BACKGROUND OF THE INVENTION
1. The Field of the Invention
The present invention relates to systems and methods for grafting the name space of one storage medium into the name space of another storage medium. More specifically, the present invention allows actions to be performed without user or program intervention when the name space of one storage medium is grafted into the name space of another storage medium.
2. The Prior State of the Art
A functional computer system generally consists of three fundamental components. The first component is computer hardware, the second component is user or application programs, and the third component is an operating system. Computer hardware generally includes such devices as a central processing unit (CPU), system memory such as RAM and ROM, mass storage such as magnetic or optical disk storage, a keyboard or other input device, and a display or other output device. Users of computer systems generally interact with user or application programs. Such programs include familiar word processing applications, spreadsheet applications, database applications, and so forth. The computer operating system performs many functions such as allowing a user to initiate execution of an application program. In addition, modern operating systems also provide an interface between an application program and the computer system hardware. Thus, while it was once common place for an application program to directly access computer system hardware, modern operating systems provide standardized, consistent interfaces that allow user applications to interface with or access computer hardware in a standardized manner.
In order to provide a consistent interface between a process such as a user application and a particular type of hardware device, there may be several software layers between the actual hardware and the process. For example, a process may make a call into the operating system. The operating system, in turn, may utilize the services provided by a hardware driver layer. The hardware driver layer then interfaces directly with the hardware. A primary advantage of such a layered approach is that layers may be added or replaced without creating a huge impact on the remaining layers. For example, if a new hardware device is added to the system, a new driver may be added, which allows the operating system to access the hardware. All these changes may take place with minimal or no impact on existing application processes.
Many operating systems provide I/O subsystems that interface with various mass storage devices. Such I/O subsystems handle many details required to translate an I/O request into actions that must be performed to fill the I/O request. Many of these actions are necessitated by the required translation from a high-level concept such as retrieving information from a file into low-level actions such as positioning the read head over a particular location on a magnetic disk and retrieving information from that particular location.
In modem computer systems, data is typically stored on mass storage devices in a hierarchical fashion with directories and files organized in a hierarchy resembling a tree structure. The location of any file or directory is typically specified by a path name. The path name typically begins with a root or starting directory and names each subsequent subdirectory until the desired file or directory is reached. For example, a file called “file.dat” may be stored in a directory “temp” which is a subdirectory of the root directory “root\.” To access file.dat an I/O request may include a path name, either explicitly or implicitly, which directs the I/O subsystem to a particular location in order to identify and access the appropriate file. The path name for file.dat would thus be \root\temp\file.dat.
When the I/O subsystem receives an I/O request with an associated path name, the path name must be resolved in order to allow translation to a particular location on a particular storage device so that the I/O request can be accomplished. Path names may be directly provided to the I/O subsystem or may be constructed based on known information. Resolving file names in a file system is typically a multi-stage procedure. It generally begins with a stage that decodes all of the named components that need to be successfully identified by the file system. The procedure then continues with an iterative process of identifying, usually from left to right, the successive name components of the path name. The procedure finishes with the success or failure of each of these name resolutions. Thus, in the example above, the path name would be broken down into successive components and the resolution process would identify, in turn, the root directory, the temp subdirectory, and the file file.dat.
With the proliferation of inexpensive powerful computers, many users and organizations are assembling networks of interconnected computers that utilize local area networks (LAN), wide area networks (WAN), or other networking technologies to allow individual users to share data and information. Often these networks of computers have multiple storage devices that can be accessed by multiple users. The result is that an individual user may have access to many different storage devices. As the number of storage devices and the hierarchy of directories and subdirectories on each storage device increases, users may have an increasingly difficult time finding and managing their data.
A volume is a storage unit that may be formatted with a file system and accessed via file system paths or devices names internal to the I/O subsystem. When multiple volumes, each with a hierarchy of directories and subdirectories, are available to a user, the user may have difficulty conceptually grasping the interrelationship between the directories and subdirectories of the individual volumes. This becomes a particular problem where large amounts of data that would naturally be organized according to a particular hierarchical structure are sufficiently large to prohibit the storing and organization of all related data on a single storage volume. In such a situation, it is generally necessary to store some data on one volume and other data on other volumes. Dividing such logically related data among multiple volumes adds to the confusion and difficulty felt by some users.
To overcome some of these limitations, mechanisms have been developed to present a logical view of the storage devices that is independent of the physical organization of the data on the storage devices. These mechanisms allow the name space of one storage device to be grafted into the name space of another storage device so that a single coherent, logical view may be presented to a user.
Referring now to
FIG. 1
, an example of such a grafting process is illustrated. In
FIG. 1
, two volumes
20
and
22
are illustrated. Volume
20
and volume
22
each have independent directory structures. The directory structure for volume
20
is illustrated generally as
24
and the directory structure for volume
22
is illustrated generally as
26
. As used herein, directory structure and name space will be used interchangeably to identify the names or structures of directories and files on a particular volume. Although volume
20
and volume
22
each have individual directory structures, in this example it is desirable to present a single integrated directory structure to the user as illustrated by logical directory structure
28
. Logical directory structure
28
illustrates that it is desirable to graft directory structure
26
into directory structure
24
at Dir
4
30
. When such a grafting takes place, logical directory structure
28
results.
Although many mechanisms may be used to graft the name space of one storage volume into the name space of another storage volume, one common technology is called a “mount point.” A mount point is a name space location where another name space or directory structure should be mounted or grafted. Thus, in
FIG. 1
Dir
4
30
would be defined as a mount poi

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Identifying the owner responsible for processing I/O requests does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Identifying the owner responsible for processing I/O requests, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Identifying the owner responsible for processing I/O requests will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2985486

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.