System and method of creating virtual data paths using a multiple-path driver
First Claim
1. A method of transmitting computer data between a host computer and at least one computer data storage device where there are multiple physical communications paths between said host computer and said at least one computer data storage device comprising:
- inserting a multiple-path driver between driver-stack levels of an operating system operating on said host computer without affecting said operating system operation, said multiple-path driver further being provided without modifying said operating system source code;
inserting a part of said multiple-path driver between middle-level device drivers of said operating system of said host computer and host bus adapter drivers of said operating system of said host computer;
inserting an additional part of said multiple-path driver into said upper-level device drivers of said operating system of said host computer to interface with said middle-level device drivers of said operating system of said host computer;
selectively intercepting device commands from upper-level drivers of said operating system of said host computer;
replacing commands of the upper-level drivers and references to the upper-level function pointers within the operating system with commands and references to the multiple-path driver;
creating a virtual data path between said multiple-path driver and said computer data storage devices;
selectively directing device commands from said multiple-path driver to a virtual host bus adapter driver within said multiple-path driver along said virtual path;
transmitting computer data along more than one physical path of said multiple physical communications paths between said multiple-path driver and said computer data storage devices; and
selectively presenting said computer data storage devices to said upper-level drivers of said operating system of said host computer as a single virtual computer data storage device.
11 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system and method for transmitting computer data within a single computer system along more than one physical data path by providing a multiple-path driver that creates virtual (or non-physical) data paths without modifying the source code of the operating system. The system and method may be used with any computer hardware regardless of manufacturer. In one embodiment, a multiple-path driver may be used within a Linux operating system to create virtual data paths and transmit data between the upper-level drivers of the Linux system and at least one computer data storage device without modifying the Linux source code.
75 Citations
10 Claims
-
1. A method of transmitting computer data between a host computer and at least one computer data storage device where there are multiple physical communications paths between said host computer and said at least one computer data storage device comprising:
-
inserting a multiple-path driver between driver-stack levels of an operating system operating on said host computer without affecting said operating system operation, said multiple-path driver further being provided without modifying said operating system source code; inserting a part of said multiple-path driver between middle-level device drivers of said operating system of said host computer and host bus adapter drivers of said operating system of said host computer; inserting an additional part of said multiple-path driver into said upper-level device drivers of said operating system of said host computer to interface with said middle-level device drivers of said operating system of said host computer;
selectively intercepting device commands from upper-level drivers of said operating system of said host computer;replacing commands of the upper-level drivers and references to the upper-level function pointers within the operating system with commands and references to the multiple-path driver; creating a virtual data path between said multiple-path driver and said computer data storage devices; selectively directing device commands from said multiple-path driver to a virtual host bus adapter driver within said multiple-path driver along said virtual path;
transmitting computer data along more than one physical path of said multiple physical communications paths between said multiple-path driver and said computer data storage devices; andselectively presenting said computer data storage devices to said upper-level drivers of said operating system of said host computer as a single virtual computer data storage device. - View Dependent Claims (2)
-
-
3. A system that transmits computer data along more than one physical data path between a host computer and at least one computer data storage device comprising:
-
a computer operating system that contains a driver stack that transmits commands from said host computer through said operating system to said computer data storage devices; at least one host bus adapter that connects said computer operating system to said computer data storage devices; at least one host bus adapter driver that directs said host bus adapters; a multiple-path driver that transmits data along multiple physical paths between said host computer and said computer data storage devices by intercepting device commands from said computer operating system, replacing commands of said computer operating system with commands of said multiple-path driver and sending said commands of said multiple-path driver to a virtual host bus adapter driver such that said computer data storage devices are selectively presented to said computer operating system of said host computer as a single virtual computer storage device, said multiplepath driver functioning without affecting said computer operating system operation, said multiple-path driver being provided without modifying said computer operating system source code, a portion of said multiple-path driver being inserted between middle-level device drivers of said computer operating system of said computer and said host bus adapter drivers of said computer operating system of said host computer, an additional portion of said multiple-path driver being inserted into said upper-level device drivers of said computer operating system of said host computer to interface with said middle-level device drivers of said computer operating system of said host computer; selectively presenting said computer data storage devices to said upper-level drivers of said operating system of said host computer as a single virtual computer data storage device at least one controller that directs said computer data storage devices to acquire or transmit data; at least one cable that connects said host bus adapters to said controllers of said computer data storage devices; and a set of buses that connect said controllers to said computer data storage devices and allow said computer data storage devices to acquire or transmit data. - View Dependent Claims (4, 5, 6)
-
-
7. A system that transmits computer data along more than one physical data path between a host computer and computer data storage devices comprising:
-
a computer operating system that contains a driver stack having three levels of drivers within its driver stack, generally comprising upper-level drivers, middle-level drivers, and host bus adapter drivers that transmits commands from said host computer through said operating system to said computer data storage devices; a set of host bus adapters that connects said computer operating system to said computer data storage devices comprised of arrays of computer hard disks; a set of host bus adapter drivers that directs said host bus adapters; a multiple-path driver that utilizes multiple paths for data flow between said host computer and said computer data storage devices by intercepting device commands from said computer operating system, replacing commands of said computer operating system with commands of said multiple-path driver and sending said commands of said multiple-path driver to a virtual host bus adapter such that said computer data storage devices are selectively presented to said computer operating system of said host computer as a single virtual computer storage device, said multiple-path driver functioning without affecting said computer operating system operation and said multiple-path driver being provided without modifying said computer operating system source code; a portion of said multiple-path driver that is inserted between said middle-level device drivers of said computer operating system of said computer and said host bus adapter drivers of said computer operating system of said host computer; an additional portion of said multiple-path driver that is inserted into said upper-level device drivers of said computer operating system of said computer to interface with said middle-level device drivers of said computer operating system of said host computer; a set of controllers that direct said computer data storage devices to acquire or transmit data; a set of cables that connect said host bus adapters to said controllers of said computer data storage devices; and a set of buses that connect said controllers to said computer data storage devices and allow said computer data storage devices to acquire or transmit data. - View Dependent Claims (8, 9)
-
-
10. A system that transmits computer data along more than one physical data path between a host computer and computer data storage devices comprising:
-
a means for transmitting commands from said host computer through a computer operating system to said computer data storage devices using multiple paths; a means for connecting said computer operating system through host bus adapters to said computer data storage devices comprised of arrays of computer hard disks; a means for directing said host bus adapters with host bus adapter drivers; a means for utilizing multiple paths for data flow between said host computer and said computer data storage devices by intercepting device commands from said computer operating system, replacing commands of said computer operating system with commands of a multiple-path driver and sending said commands of said multiple-path driver to a virtual host bus adapter driver such that said computer data storage devices are selectively presented to said computer operating system of said host computer as a single virtual computer storage device, said multiple-path driver functioning without affecting said computer operating system operation and said multiple-path driver being provided without modifying said computer operating system source code; a means for inserting a portion of said multiple-path driver between said middle-level device drivers of said computer operating system of said computer and said host bus adapter drivers of said computer operating system of said host computer; a means for inserting an additional portion of said multiple-path driver into said upper-level device drivers of said computer operating system of said computer to interface with said middle-level device drivers of said computer operating system of said host computer; a controller means for directing said computer data storage devices to acquire or transmit data; a means for connecting said host bus adapters to said computer data storage devices; and a means for connecting said controller means to said computer data storage devices and allowing said computer data storage devices to acquire or transmit data.
-
Specification