Method and system for implementing host-dependent SCSI behavior in a heterogeneous host environment
Granted 29 Aug 2006 · 3 office actions
Current assignee: Hewlett Packard Enterprise Development LP · originally Hewlett Packard Enterprise
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Marc LeFevre, Stephen Mooney, Randy J. Matthews · Examiner: Meng-Al T. An · AU 2195 · TC 2100
Life of the application
14 dated eventsAbstract
A method, system, and program product is provided for configuring a target device, the method comprising the steps of: receiving a log-in request to connect the target device to a host, wherein the log-in request includes a host designator; accessing a table of host designators and associated O/S types; determining if there is a match of the log-in request host designator to a host designator in the table; and selecting an O/S type protocol associated with the match to the host designator. In a preferred embodiment of the present invention, the host designator is a worldwide name. In a further embodiment of the present invention, the step is provided of determining if a mode parameter is set for a default O/S protocol; and selecting that default O/S protocol unless there is a match of the log-in request host designator in the table.
Description
5 parts›FIELD OF THE INVENTION
The present invention relates generally to the field of host-target device connections, and more particularly, to the selection of an appropriate O/S protocol for command processing in these interconnections.
›BACKGROUND OF THE INVENTION
As is well known the small computer system interface (SCSI) is a set of evolving ANSI standard electronic interfaces that allow personal computers and other host devices to connect and communicate with peripheral hardware such as disk drives, disk arrays, tape drives, tape arrays, printers, scanners, and various other target devices. As is well known, the ANSI standards and various other standards were defined with certain ambiguities therein. The various operating systems (O/S) handle these ambiguities in different ways, and require different protocols in order to properly communicate. Examples of O/S's with different protocols include WIN NT, HPUX, and the LINUX system. This difference in operating systems causes significant problems for target devices when processing commands from host devices. A target device will not be able to satisfy all host O/S types with a single behavior. Additionally, there is no intrinsic method for determining the correct behavior when processing any given command. The present invention is directed to solving this problem.
›SUMMARY OF THE INVENTION
Briefly, the present invention comprises, in one embodiment, a method for configuring a target device, comprising the steps of: receiving a log-in request to connect the target device to a host, wherein the log-in request includes a host designator; accessing a table of host designators and associated O/S types; determining if there is a match of the log-in request host designator to a host designator in the table; and selecting an O/S type protocol associated with the match to the host designator.
In a further aspect of the present invention, the host designator is a worldwide name.
In a further aspect of the present invention, the step is provided of determining if a mode parameter is set for a default O/S protocol; and selecting that default O/S protocol unless there is a match of the log-in request host designator in the table.
In a further aspect of the present invention, the steps are provided of receiving a command from the host; and determining if the command is an O/S dependent command; and wherein the step of accessing the table is only performed if the received command is an O/S dependent command.
In a further aspect of the present invention, the step is provided of storing the table in non-volatile memory in the target device.
In a further aspect of the present invention, the target device is a memory array.
In a further embodiment of the present invention, a system is provided for configuring itself for a particular O/S, comprising: a table of system host system designators and associated O/S types; a component for receiving a log-in request to connect the system to a host, wherein the log-in request includes a host designator; a component for accessing the table of host designators and associated O/S types; a component for determining if there is a match of the log-in request host designator to a host designator in the table; and a component for selecting an O/S type protocol associated with the match to the host designator.
In a further aspect of the present invention, a component is provided for determining if a mode parameter is set for a default O/S protocol and selecting that default O/S protocol unless there is a match of the log-in request host designator in the table.
In a further aspect of the present invention, the a component is provided for receiving a command from the host and determining if the command is an O/S dependent command; and wherein the component for accessing the table only operates if the received command is an O/S dependent command.
In a further aspect of the present invention, the table is stored in non-volatile memory in the target device.
In a further embodiment of the present invention, a program product is provided for configuring a target device, comprising machine-readable program code for causing a machine to perform the following method steps: receiving a log-in request to connect the target device to a host, wherein the log-in request includes a host designator; accessing a table of host designators and associated O/S types; determining if there is a match of the log-in request host designator to a host designator in the table; and selecting an O/S type protocol associated with the match to the host designator.
In a further aspect of the present invention, code is provided for determining if a mode parameter is set for a default O/S protocol and selecting that default O/S protocol unless there is a match of the log-in request host designator in the table.
In a further aspect of the present invention, code is provided for receiving a command from the host and determining if the command is an O/S dependent command; and wherein the code for accessing the table is only executed if the received command is an O/S dependent command.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram of a preferred embodiment of a flowchart to implement the present invention.
›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention solves the foregoing problems by constructing and storing a table of host designators and associated operating system (O/S) types that may be used to select the correct O/S protocol. To facilitate this operation, a plurality of different O/S type protocols are stored in the target. The O/S type associated with the host designator is then used to select the correct O/S protocol. The table would be constructed by obtaining designators for one or more hosts, along with the operating system used by each of those different hosts. The table would list the host designator and an associated operating system (O/S). Thus, during a log-in procedure, the host would provide its host designator. Later, during the processing of SCSI commands from this host, it would be determined whether that host designator matched a host designator in the table. If a match was found, then the O/S protocol associated with that O/S type would be used in processing the command. In a preferred embodiment, the host designator would be the worldwide name for the host. Typically there will be a worldwide name for each host bus adapter, for example.
In a preferred embodiment of the present invention, the table would be stored in non-volatile memory that is physically located in the chassis of the target device. Typically, the loading of the table would be accomplished by means of a utility in the firmware for the target device. The result of this storage at the target device is that array controllers and other components may be replaced without having to re-specify O/S types for the various hosts which may be encountered.
Referring now to FIG. 1 , there is shown a preferred embodiment of a flowchart for a method in accordance with the present invention. As a preparation for operating this flowchart, a table preferably has already been created which associates host designators with their O/S type, and this table has been stored in an accessible location, preferably in the chassis of the target device.
Accordingly, the first step, represented by block 10 , comprises a host-target device log-in process wherein the host and the target device, such as a disk array controller, exchange information on capabilities of each device and form a communication connection. During this log-in process, the host would provide its host designator to the target device. As noted above, in a preferred embodiment this host designator may be a worldwide name.
After successful login, the target is allowed to receive commands from the host, as represented by block 12 . For any given received command, the target determines whether the execution of the command depends on the protocol of the host in block 15 . By way of example but not by way of limitation, this step could be performed by comparing the received command to a list of commands that have O/S dependent requirements. If the command executes without regard to the host protocol, the following steps are not performed and the routine is exited at block 18 . If there is a match to an O/S dependent command, then the following steps are performed.
The next step in the process, represented by block 20 , obtains the value of a mode parameter that defines the default O/S protocol. For example, this mode parameter could be set to default to a HPUX protocol for all worldwide names not listed in the table.
A further step in the process, represented by block 30 , comprises accessing the aforementioned table which stores host designators and O/S types associated therewith. As noted above, in a preferred embodiment this table would be stored in the chassis of the target device, e.g., a disk array controller.
The method further includes the step, represented by block 40 , of determining if there is a match of the host designator obtained during the log-in process in block 10 , to a host designator in the table. If there is such a match to a host designator in the table, then the method operates to override the default mode parameter designation for the O/S protocol, and to select the O/S protocol associated with the matched host designator. This step is represented by block 50 in FIG. 1 .
By way of example, but not by way of limitation, there could be one disk array controller and ten hosts. The aforementioned host designator table could provide a listing of a worldwide name for each of the ten hosts, and an associated O/S for each worldwide name.
As another example, there could be thirty-five hosts all using the HPUX O/S protocol, and there could be one other host which could utilize a different O/S protocol, such as a LINUX protocol. In this case, the mode parameter could be set to default to the HPUX O/S protocol, and the table could have only a single entry with the worldwide name for the host that has the LINUX O/S, and an associated representation for that LINUX O/S. Accordingly, in operation the method would always use the default HPUX protocol unless the host designator obtained during the log-in process matched the host designator in the table for the LINUX protocol.
It should be noted that the present invention is particularly useful for implementing fibre channel protocols, to allow the target devices to identify host device operating system types during log-in.
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiment was chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents.
Claims as granted
15 claimsLog in to read the claims of this application.
Log in to unlockClassifications
12 codes- G06F9/24
- G06F13/00
- G06F9/00
- G06F12/00
- G06F13/42
- G06F15/177
- G06F9/46
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock