Method for determining and displaying the physical slot number of an expansion bus device

Information

  • Patent Grant
  • 6269417
  • Patent Number
    6,269,417
  • Date Filed
    Wednesday, October 1, 1997
    27 years ago
  • Date Issued
    Tuesday, July 31, 2001
    23 years ago
Abstract
A method for displaying the slot number and Hardware Instance Number (HIN) of devices attached to a Peripheral Component Interface (PCI) bus is disclosed. The method determines the slot numbers and HINs for every device attached to the PCI bus. This information is displayed to the user. The method thus provides the user with a mechanism for determining the physical slot location of PCI devices in a computer system once the HIN for the PCI device is known.
Description




COPYRIGHT RIGHTS




A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.




BACKGROUND OF THE INVENTION




1. Field of the Invention




This invention relates to systems and methods of determining the physical location of devices in a computer system. Specifically, this invention relates to systems and methods for determining and displaying the physical location and unique identification numbers of PCI devices in a computer system.




2. Description of the Related Art




Personal computers communicate internally and externally through devices connected to their expansion slots. Various bus standards have been developed to standardize communications between the computer system and devices linked through the computer system's expansion slots. Examples of these bus standards are the Industry Standard Architecture (ISA), the Extended Industry Standard Architecture (EISA) and the Peripheral Component Interconnect (PCI) architecture.




In order for computer programs to communicate with devices attached to a PCI bus, every computer program must have a way to uniquely access its corresponding PCI device. For this reason, unique identification numbers are calculated for each function residing on a PCI bus card. This unique number is normally a compilation of the bus number, device number and function number of the particular function within the PCI bus card. However, in a hybrid bus environment, such as a computer with both PCI and ISA buses, this unique identification number may not be truly unique. If two devices within the computer system are inadvertently given the same “unique” identification number, conflicts will arise as the devices are accessed by software programs. For this reason, some operating systems generate a identification number that utilizes more information than simply the bus number, device number and function number to access bus devices.




For example, Novell Netware assigns a unique number known as a hardware instance number ON) to each device located within the computer system. The HIN is normally a number that uniquely identifies a device location in the computer, even within a hybrid bus environment.




Unfortunately, operating systems such as Novell Netware display and monitor the functionality of each device in the system by the device number. A failing device within a computer system will be identified by its unique identification number or HIN. However, there is no way for a technician to easily correlate the physical location of a device in the computer system based on the device's unique identifier or HIN. Thus a need exists for a system that allows a technician to rapidly determine the physical location of a failing device within a computer system.




In addition, features of some operating systems, such as Novell Netware, assign tasks based on the HIN of a particular device. For example, a computer system may have two identical network interface cards (NICs). A technician may want to load a particular piece of software to run on one of the NICs, but not the other. In order to load the software, Netware requires that the technician specify the correct NIC by its hardware instance number. However, because there is no correlation between the HIN and the physical location of a device in the system, the technician must use trial and error to attach the software to the appropriate NIC. Unfortunately, there is no easy mechanism for determining the physical location of a device in the computer system based on a HIN. Therefore, a need exists for a method to identify and correlate HINs with the physical location of devices in a computer system.




SUMMARY OF THE INVENTION




One embodiment of the present invention is a method of displaying the physical location of a device in a computer system. In this embodiment, the method includes the steps of a) determining the slot number of a device attached to the bus of a computer, b) determining a unique identifier for said device and c) associating the slot number and unique identifier of said device.




Another embodiment of the invention is a method for displaying the Hardware Instance Number and expansion slot number of a device in a computer. This embodiment includes the process of a) determining the bus number, slot number, device number and function number of a device in communication with an expansion bus of the computer, b) calculating a unique number identifying the device, c) passing the unique number to a Bus Interface (BI) Function, wherein the BI function returns a Hardware Interface Number (HIN), and d) displaying the HIN, bus number, slot number, device number and the slot number on a computer display.




Yet another embodiment of the invention is a programmed storage device. The programmed storage device stores instructions that when executed perform the method of displaying the physical location of a device in a computer system. The method performed by the instructions in the programmed storage device includes the steps of a) determining the slot number of a device attached to the bus of a computer, b) determining a unique identifier for said device and c) associating the slot number and unique identifier of said device.




Still another embodiment of the invention is another programmed storage device. The programmed storage device stores instructions that when executed perform the method of displaying the Hardware Instance Number and expansion slot number of a device in a computer. The instructions in the programmed storage device perform the process of a) determining the bus number, slot number, device number and function number of a device in communication with an expansion bus of the computer, b) calculating a unique number identifying the device, c) passing the unique number to a Bus Interface (BI) Function, wherein the BI function returns a Hardware Interface Number (HIN), and d) associating the HIN, bus number, slot number, device number and the slot number.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

is a flow diagram illustrating one embodiment of a method of determining the HIN for each device in an expansion slot in a computer system.





FIG. 2

is a flow diagram illustrating a second embodiment of determining and displaying the HIN and slot number for each device in a computer system.











DETAILED DESCRIPTION OF THE INVENTION




This invention relates to a system and method for determining the physical location of devices located within a computer system. In one embodiment, the physical location is correlated with the unique identification number generated for the device so that both are displayed to the user. In this embodiment, the unique identification number is a hardware instance number (HIN) within a computer system running Novell Netware. Embodiments of the invention include a software program that scans every slot attached to every PCI bus of a computer system to determine whether any PCI devices are present. If such a device is present, the software displays the bus number, logical slot number, device number, function number and HIN of the device.




Software embodiments can be written in any well known language such as C, C++, Fortran, Basic, Cobol or any other conventional computer programming language. In addition, the disclosed methods are portable to any computer system that supports expansion devices. In addition, the software can be stored onto any well-known programmed storage device such as hard disks, floppy disks, Random Access Memory, Read-Only Memory, or other like device.





FIG. 1

illustrates an overall process


10


of displaying the physical location and unique identification information for a device within a computer system The process


10


begins at a start state


12


and moves to a state


14


wherein the bus number of the first bus in the computer system is read. As is known, some computer systems have multiple buses, each of which may contain several expansion slots and devices. For example, the expansion bus might be a PCI, ISA or EISA-based bus within a personal computer. The process


10


then moves to state


16


and reads the current slot number for the first expansion slot in the current bus. As discussed above, the expansion slot number normally corresponds to a particular position along the expansion bus of a personal computer.




Once the slot number has been read at state


16


, the process


10


moves to state


18


wherein the device number of the first device attached to the current expansion slot is read. The process


10


then moves to a decision state


20


to determine if there is a bus device attached at the current expansion slot Bus devices are devices such as Network Interface Cards, Communications Adapters and other devices attached to an expansion bus.




If a decision is made at the decision state


20


that the device is not a bus device, the process


10


moves to a decision state


22


to determine whether any additional devices exist for the current bus number and slot number. If more devices exist, the process


10


typically moves to a state


24


and reads the next device number. The process


10


then returns to state


20


to determine whether the new device is a bus device. If a decision was made at the decision state


22


that no more devices were found in communication with the current expansion slot, the process


10


completes at an end state


26


.




If a determination was made at the decision state


20


that the current device was a bus device, the process


10


moves to a state


30


to determine a unique ID number for the bus device. As discussed above, one type of unique ID number is Hardware Instance Number.




Once a unique ID number for a device has been determined at state


30


, the process


10


moves to state


32


to display the current bus number, slot number, device number and unique ID number. Thus, the physical location of every bus device, along with its unique ID number, may be displayed on the screen. The process


10


then returns to state


22


to determine whether any other devices exist in the computer system. A technician could thereby use the system outlined in

FIG. 1

to determine the physical location of devices, such as network interface cards within the computer system.




Embodiments of the system described herein allow the user to look at the computer display and determine that a device having unique ID number 10030 corresponds to, for example, a Network Interface Card located in bus #1, slot #2 of the computer system. If the user has been notified by an error detection system that a network interface card with unique ID number 10030 is failing, the user knows that the NIC in slot #2 needs to be replaced.

FIG. 2

provides details of one embodiment of a system for displaying the unique ID number of PCI devices within a computer system. It should be noted that the implementation listed below for a PCI bus is only one embodiment of the invention. Other embodiments that include alternative bus protocols such as ISA and EISA are also contemplated.





FIG. 2

illustrates a process


50


for displaying the logical slot number and HIN for every PCI device in a computer system. The process


50


begins at a start state


52


and then moves to state


54


wherein the number of the first bus is obtained. As is known, some computer systems use a multi-bus approach such that more than one expansion bus may exist within a single computer system. For example, some computer systems may have a PCI bus and a ISA bus in order to be compatible with current and past bus architectures.




Once the bus number for the first bus has been obtained at state


54


, the process


50


moves to state


56


wherein the slot number of the firs device to be analyzed is retrieved. The process


50


then moves to state


57


and retrieves the function number of the first function of the device. As is known, the variable returned by PCI function number 0 normally indicates whether the current device is a standard PCI adapter or a multifunction PCI adapter. The process


50


then moves to a decision state


58


wherein a determination is made, based on the code returned by PCI function number 0, whether the device is a PCI type device. If a determination is made that the device is not a PCI device, the process


50


moves to a decision state


67


wherein a determination is made whether more devices are available for analysis in the current bus. If more devices are available in the in the current bus, the process


50


typically moves to state


68


to identify the next device. The process


50


then typically loops to state


57


to get the first function number of the device.




If a determination is made at the decision state


67


that no more devices are available for analysis in the cent bus, the process


50


moves to a decision state


70


to determine whether more buses are available within the current computer system. If a determination is made at the decision state


70


that more buses do exist, the process


50


moves to state


72


to determine the next bus number, and then returns to state


56


to obtain the slot number of the device. If no more buses exist at the decision state


70


, the process


50


ends at an end state


80


.




If a determination is made at the decision state


58


that a PCI device is located in the current slot under evaluation, the process


50


moves to state


82


wherein the PCI ClassCode is returned from the PCI device. The process


50


then moves to state


84


wherein the PCI SubClass code is determined. The process


50


then moves to state


88


wherein the Netware GetUniqueIdentifier( ) function is called and passed the parameters of the current bus number, function number and device number. The GetUniqueIdentifier( ) function is a Novell Netware implementation of a method for determining a unique identifier for a device located on a particular bus. The unique identifier, in this case, includes the bus number, device number and function number.




Once the unique identifier has been returned by the GetUniqueldentfier( ) function, the process moves to state


90


wherein a Netware NBIRequest( ) function is made with an operation code of “NBI_REGISTER_INSTANCE”, the PCI ClassCode and the unique identifier. The Netware NBIRequest( ) function calculates a MN for this particular device and function. The process


50


then moves to a decision state


100


to determine whether the calculated HIN is present in the NBIHW.CFG configuration file. If the HIN is not present within the NBIHW.CFG configuration file, the process


50


moves to state


102


and makes an entry into the file. A file entry would be missing in a case, for example, when a new network interface card was hot-swapped into the computer system.




However, if an entry for the HIN was present in the NBIHW.CFG configuration file at the decision state


100


, the process


50


moves to state


104


and returns the HIN for the PCI device. The process


50


then moves to state


106


wherein the previously determined slot number, bus number, device number and HIN are displayed to the user's computer display. Table 1 illustrates an example of a type of table that might be displayed. The process


50


then moves to a decision state


108


to determine whether any additional functions exist for the current PCI device. If no more functions exist, the process


50


returns to the decision state


67


to determine whether any additional devices are present in the current bus. However, if more additional functions do exist at the decision state


108


, the process


50


moves to state


110


to determine the next function in the PCI device. The process then returns to decision state


58


to determine if the new function corresponds to a PCI device.












TABLE 1











Example of Display Showing HINs and Slot Numbers















BUS




DEVICE




FUNCTION




SLOT







NUMBER




NUMBER




NUMBER




NUMBER




HIN









2




4




0




1




10010






2




5




0




2




10028






2




6




0




3




10030






2




7




0




4




10032






2




8




0




5




10040














Although specific embodiments of the invention have been described herein, the invention is not limited to only these embodiments. Other embodiments of the invention, including alternative computer systems, operating systems and software languages are contemplated. The present invention should not be construed to be limited to only those embodiments discussed above, but should only be limited by the scope of the appended claims.




INCORPORATION BY REFERENCE OF COMMONLY OWNED APPLICATIONS




The following patent applications, commonly owned and filed on the same day as the present application are hereby incorporated herein in their entirety by reference thereto:

















Title




Application No.




Attorney Docket No.











“System Architecture for Remote Access




08/942,160




MNFRAME.002A1






and Control of Environmental






Management”






“Method of Remote Access and Control




08/942,215




MNFRAME.002A2






of Environmental Management”






“System for Independent Powering of




08/942,410




MNFRAME.002A3






Diagnostic Processes on a Computer






System”






“Method of Independent Powering of




08/942,320




MNFRAME.002A4






Diagnostic Processes on a Computer






System”






“Diagnostic and Managing Distributed




08/942,402




MNFRAME.005A1






Processor System”






“Method for Managing a Distributed




08/942,448




MNFRAME.005A2






Processor System”






“System for Mapping Environmental




08/942,222




MNFRAME.005A3






Resources to Memory for Program






Access”






“Method for Mapping Environmental




08/942,214




MNFRAME.005A4






Resources to Memory for Program






Access”






“Hot Add of Devices Software




08/942,309




MNFRAME.006A1






Architecture”






“Method for The Hot Add of Devices”




08/942,306




MNFRAME.006A2






“Hot Swap of Devices Software




08/942,311




MNFRAME.006A3






Architecture”






“Method for The Hot Swap of Devices”




08/942,457




MNFRAME.006A4






“Method for the Hot Add of a Network




08/943,072




MNFRAME.006A5






Adapter on a System Including a






Dynamically Loaded Adapter Driver”






“Method for the Hot Add of a Mass




08/942,069




MNFRAME.006A6






Storage Adapter on a System Including a






Statically Loaded Adapter Driver”






“Method for the Hot Add of a Network




08/942,465




MNFRAME.006A7






Adapter on a System Including a Statically






Loaded Adapter Driver”






“Method for the Hot Add of a Mass




08/962,963




MNFRAME.006A8






Storage Adapter on a System Including a






Dynamically Loaded Adapter Driver”






“Method for the Hot Swap of a Network




08/943,078




MNFRAME.006A9






Adapter on a System Including a






Dynamically Loaded Adapter Driver”






“Method for the Hot Swap of a Mass




08/942,336




MNFRAME.006A10






Storage Adapter on a System Including a






Statically Loaded Adapter Driver”






“Method for the Hot Swap of a Network




08/942,459




MNFRAME.006A11






Adapter on a System Including a Statically






Loaded Adapter Driver”






“Method for the Hot Swap of a Mass




08/942,458




MNFRAME.006A12






Storage Adapter on a System Including a






Dynamically Loaded Adapter Driver”






“Method of Performing an Extensive




08/942,463




MNFRAME.008A






Diagnostic Test in Conjunction with a






BIOS Test Routine”






“Apparatus for Performing an Extensive




08/942,163




MNFRAME.009A






Diagnostic Test in Conjunction with a






BIOS Test Routine”






“Configuration Management Method for




08/941,268




MNFRAME.010A






Hot Adding and Hot Replacing Devices”






“Configuration Management System for




08/942,408




MNFRAME.011A






Hot Adding and Hot Replacing Devices”






“Apparatus for Interfacing Buses”




08/942,382




MNFRAME.012A






“Method for Interfacing Buses”




08/942,413




MNFRAME.013A






“Computer Fan Speed Control Device”




08/942,447




MNFRAME.016A






“Computer Fan Speed Control Method”




08/942,216




MNFRAME.017A






“System for Powering Up and Powering




08/943,076




MNFRAME.018A






Down a Server”






“Method of Powering Up and Powering




08/943,077




MNFRAME.019A






Down a Server”






“System for Resetting a Server”




08/942,333




MNFRAME.020A






“Method of Resetting a Server”




08/942,405




MNFRAME.021A






“System for Displaying Flight Recorder”




08/942,070




MNFRAME.022A






“Method of Displaying Flight Recorder”




08/942,068




MNFRAME.023A






“Synchronous Communication Interface”




08/943,355




MNFRAME.024A






“Synchronous Communication




08/942,004




MNFRAME.025A






Emulation”






“Software System Facilitating the




08/942,317




MNFRAME.026A






Replacement or Insertion of Devices in a






Computer System”






“Method for Facilitating the Replacement




08/942,316




MNFRAME.027A






or Insertion of Devices in a Computer






System”






“System Management Graphical User




08/943,357




MNFRAME.028A






Interface”






“Display of System Information”




08/942,195




MNFRAME.029A






“Data Management System Supporting




08/942,129




MNFRAME.030A






Hot Plug Operations on a Computer”






“Data Management Method Supporting




08/942,124




MNFRAME.031A






Hot Plug Operations on a Computer”






“Alert Configurator and Manager”




08/942,005




MNFRAME.032A






“Managing Computer System Alerts”




08/943,356




MNFRAME.033A






“Computer Fan Speed Control System”




08/940,301




MNFRAME.034A






“Computer Fan Speed Control System




08/941,267




MNFRAME.035A






Method”






“Black Box Recorder for Information




08/942,381




MNFRAME.036A






System Events”






“Method of Recording Information




08/942,164




MNFRAME.037A






System Events”






“Method for Automatically Reporting a




08/942,168




MNFRAME.040A






System Failure in a Server”






“System for Automatically Reporting a




08/942,384




MNFRAME.041A






System Failure in a Server”






“Expansion of PCI Bus Loading Capacity”




08/942,404




MNFRAME.042A






“Method for Expanding PCI Bus Loading




08/942,223




MNFRAME.043A






Capacity”






“System for Displaying System Status”




08/942,347




MNFRAME.044A






“Method of Displaying System Status”




08/942,071




MNFRAME.045A






“Fault Tolerant Computer System”




08/942,194




MNFRAME.046A






“Method for Hot Swapping of Network




08/943,044




MNFRAME.047A






Components”






“A Method for Communicating a




08/942,221




MNFRAME.048A






Software Generated Pulse Waveform






Between Two Servers in a Network”






“A System for Communicating a Software




08/942,409




MNFRAME.049A






Generated Pulse Waveform Between Two






Servers in a Network”






“Method for Clustering Software




08/942,318




MNFRAME.050A






Applications”






“System for Clustering Software




08/942,411




MNFRAME.051A






Applications”






“Method for Automatically Configuring a




08/942,319




MNFRAME.052A






Server after Hot Add of a Device”






“System for Automatically Configuring a




08/942,331




MNFRAME.053A






Server after Hot Add of a Device”






“Method of Automatically Configuring




08/942,412




MNFRAME.054A






and Formatting a Computer System and






Installing Software”






“System for Automatically Configuring




09/941,955




MNFRAME.055A






and Formatting a Computer System and






Installing Software”






“System for Detecting Errors in a




08/942,169




MNFRAME.058A






Network”






“Method of Detecting Errors in a




08/940,302




MNFRAME.059A






Network”






“System for Detecting Network Errors”




08/942,407




MNFRAME.060A






“Method of Detecting Network Errors”




08/942,573




MNFRAME.061A













Claims
  • 1. A method of displaying the physical location of a failing function running on a device in a computer system, comprising:a) determining slot numbers of devices attached to a bus of said computer; b) determining unique identifiers for each function running on said devices; c) associating said slot numbers and said unique identifiers to determine a slot number for each of said functions; d) calculating a first identifier corresponding to said failing function; and e) displaying the slot number of said failing function by matching said first identifier with said unique identifiers.
  • 2. The method of claim 1, wherein said associating includes the method of associating said unique identifier and said slot number on a computer display.
  • 3. The method of claim 1, wherein said device is a PCI device and said bus is a PCI bus.
  • 4. The method of claim 1, wherein computer is based on an Intel Pentium, Pentium Pro or Pentium II microprocessor.
  • 5. A programmed storage device, storing instructions that when executed perform the method of:a) determining slot numbers of devices attached to a bus of a computer; b) determining unique identifiers for each function funning on said devices; c) associating said slot number and said unique identifiers to determine a slot number for each of said functions; d) calculating a first identifier corresponding to a failing function; and e) displaying the slot number of said failing function by matching said first identifier with said unique identifiers.
  • 6. The programmed storage device of claim 5, wherein said associating includes the process of associating said slot number and said unique identifier on a display.
  • 7. The method of claim 5, wherein at least one of said devices is a PCI device and said bus is a PCI bus.
  • 8. The method of claim 5, wherein computer is based on an Intel Pentium, Pentium Pro or Pentium II microprocessor.
  • 9. The method of claim 5, wherein said computer is operating under a Novell Netware operating system.
PRIORITY

The benefit under 35 U.S.C. § 119(e) of the following U.S. provisional applications is hereby claimed:

US Referenced Citations (298)
Number Name Date Kind
4057847 Lowell et al. Nov 1977
4100597 Fleming et al. Jul 1978
4449182 Rubinson et al. May 1984
4672535 Katzman et al. Jun 1987
4692918 Elliott et al. Sep 1987
4695946 Andreasen et al. Sep 1987
4707803 Anthony, Jr. et al. Nov 1987
4769764 Levanon Sep 1988
4774502 Kimura Sep 1988
4821180 Gerety et al. Apr 1989
4835737 Herrig et al. May 1989
4894792 Mitchell et al. Jan 1990
4949245 Martin et al. Aug 1990
4999787 McNally et al. Mar 1991
5006961 Monico Apr 1991
5007431 Donehoo, III Apr 1991
5033048 Pierce et al. Jul 1991
5051720 Kittirutsunetorn Sep 1991
5073932 Yossifor et al. Dec 1991
5103391 Barrett Apr 1992
5118970 Olson et al. Jun 1992
5121500 Arlington et al. Jun 1992
5136708 Lapourtre et al. Aug 1992
5136715 Hirose et al. Aug 1992
5138619 Fasang et al. Aug 1992
5157663 Major et al. Oct 1992
5210855 Bartol May 1993
5222897 Collins et al. Jun 1993
5245615 Treu Sep 1993
5247683 Holmes et al. Sep 1993
5253348 Scalise Oct 1993
5265098 Mattson et al. Nov 1993
5266838 Gerner Nov 1993
5269011 Yanai et al. Dec 1993
5272382 Heald et al. Dec 1993
5272584 Austruy et al. Dec 1993
5276814 Bourke et al. Jan 1994
5276863 Heider Jan 1994
5277615 Hastings et al. Jan 1994
5280621 Barnes et al. Jan 1994
5283905 Saadeh et al. Feb 1994
5307354 Cramer et al. Apr 1994
5311397 Harshberger et al. May 1994
5311451 Barrett May 1994
5317693 Cuenod et al. May 1994
5329625 Kannan et al. Jul 1994
5337413 Lui et al. Aug 1994
5351276 Doll, Jr. et al. Sep 1994
5367670 Ward et al. Nov 1994
5379184 Barraza et al. Jan 1995
5386567 Lien et al. Jan 1995
5388267 Chan et al. Feb 1995
5402431 Saadeh et al. Mar 1995
5404494 Garney Apr 1995
5423025 Goldman et al. Jun 1995
5430717 Fowler et al. Jul 1995
5430845 Rimmer et al. Jul 1995
5432715 Shigematsu et al. Jul 1995
5432946 Allard et al. Jul 1995
5438678 Smith Aug 1995
5440748 Sekine et al. Aug 1995
5448723 Rowett Sep 1995
5455933 Schieve et al. Oct 1995
5460441 Hastings et al. Oct 1995
5463766 Schieve et al. Oct 1995
5465349 Geronimi et al. Nov 1995
5471634 Giorgio et al. Nov 1995
5473499 Weir Dec 1995
5483419 Kaczeus, Sr. et al. Jan 1996
5485550 Dalton Jan 1996
5487148 Komori et al. Jan 1996
5491791 Glowny et al. Feb 1996
5493574 McKinley Feb 1996
5493666 Fitch Feb 1996
5513314 Kandasamy et al. Apr 1996
5513339 Agrawal et al. Apr 1996
5515515 Kennedy et al. May 1996
5517646 Piccirillo et al. May 1996
5519851 Bender et al. May 1996
5526289 Dinh et al. Jun 1996
5528409 Cucci et al. Jun 1996
5530810 Bowman Jun 1996
5533193 Roscoe Jul 1996
5535326 Baskey et al. Jul 1996
5542055 Amini et al. Jul 1996
5546272 Moss et al. Aug 1996
5548712 Larson et al. Aug 1996
5555510 Verseput et al. Sep 1996
5559764 Chen et al. Sep 1996
5559958 Farrand et al. Sep 1996
5559965 Oztaskin et al. Sep 1996
5560022 Dunstan et al. Sep 1996
5564024 Pemberton Oct 1996
5566299 Billings et al. Oct 1996
5566339 Perholtz et al. Oct 1996
5568610 Brown Oct 1996
5568619 Blackledge et al. Oct 1996
5572403 Mills Nov 1996
5577205 Hwang et al. Nov 1996
5579487 Meyerson et al. Nov 1996
5579491 Jeffries et al. Nov 1996
5579528 Register Nov 1996
5581712 Herrman Dec 1996
5581714 Amini et al. Dec 1996
5584030 Husak et al. Dec 1996
5586250 Carbonneau et al. Dec 1996
5588121 Reddin et al. Dec 1996
5588144 Inoue et al. Dec 1996
5592611 Midgely et al. Jan 1997
5596711 Burckhartt et al. Jan 1997
5598407 Bud et al. Jan 1997
5602758 Lincoln et al. Feb 1997
5606672 Wade Feb 1997
5608865 Midgely et al. Mar 1997
5608876 Cohen et al. Mar 1997
5615207 Gephardt et al. Mar 1997
5621159 Brown et al. Apr 1997
5622221 Genga, Jr. et al. Apr 1997
5625238 Ady et al. Apr 1997
5627962 Goodrum et al. May 1997
5628028 Michelson May 1997
5630076 Saulpaugh et al. May 1997
5631847 Kikinis May 1997
5632021 Jennings et al. May 1997
5636341 Matsushita et al. Jun 1997
5638289 Yamada et al. Jun 1997
5644470 Benedict et al. Jul 1997
5644731 Liencres et al. Jul 1997
5651006 Fujino et al. Jul 1997
5652832 Kane et al. Jul 1997
5652833 Takizawa et al. Jul 1997
5652839 Giorgio et al. Jul 1997
5652892 Ugajin Jul 1997
5652908 Douglas et al. Jul 1997
5655081 Bonnell et al. Aug 1997
5655083 Bagley Aug 1997
5655148 Richman et al. Aug 1997
5659682 Devarakonda et al. Aug 1997
5664118 Nishigaki et al. Sep 1997
5664119 Jeffries et al. Sep 1997
5666538 DeNicola Sep 1997
5668943 Attanasio et al. Sep 1997
5668992 Hammer et al. Sep 1997
5669009 Buktenica et al. Sep 1997
5671371 Kondo et al. Sep 1997
5675723 Ekrot et al. Oct 1997
5680288 Carey et al. Oct 1997
5682328 Roeber et al. Oct 1997
5684671 Hobbs et al. Nov 1997
5689637 Johnson et al. Nov 1997
5696895 Hemphill et al. Dec 1997
5696899 Kalwitz Dec 1997
5696949 Young Dec 1997
5696970 Sandage et al. Dec 1997
5701417 Lewis et al. Dec 1997
5704031 Mikami et al. Dec 1997
5708775 Nakamura Jan 1998
5708776 Kikinis Jan 1998
5712754 Sides et al. Jan 1998
5715456 Bennett et al. Feb 1998
5717570 Kikinis Feb 1998
5721935 DeSchepper et al. Feb 1998
5724529 Smith et al. Mar 1998
5726506 Wood Mar 1998
5727207 Gates et al. Mar 1998
5732266 Moore et al. Mar 1998
5737708 Grob et al. Apr 1998
5737747 Vishlitzky et al. Apr 1998
5740378 Rehl et al. Apr 1998
5742514 Bonola Apr 1998
5742833 Dea et al. Apr 1998
5747889 Raynham et al. May 1998
5748426 Bedingfield et al. May 1998
5752164 Jones May 1998
5754396 Felcman et al. May 1998
5754449 Hoshal et al. May 1998
5754797 Takahashi May 1998
5758165 Shuff May 1998
5758352 Reynolds et al. May 1998
5761033 Wilhelm Jun 1998
5761045 Olson et al. Jun 1998
5761085 Giorgio Jun 1998
5761462 Neal et al. Jun 1998
5761707 Aiken et al. Jun 1998
5764924 Hong Jun 1998
5764968 Ninomiya Jun 1998
5765008 Desai et al. Jun 1998
5765198 McCrocklin et al. Jun 1998
5767844 Stoye Jun 1998
5768541 Pan-Ratzlaff Jun 1998
5768542 Enstrom et al. Jun 1998
5771343 Hafner et al. Jun 1998
5774640 Kurio Jun 1998
5774645 Beaujard et al. Jun 1998
5774741 Choi Jun 1998
5777897 Giorgio Jul 1998
5778197 Dunham Jul 1998
5781703 Desai et al. Jul 1998
5781716 Hemphill et al. Jul 1998
5781744 Johnson et al. Jul 1998
5781767 Inoue et al. Jul 1998
5781798 Beatty et al. Jul 1998
5784555 Stone Jul 1998
5784576 Guthrie et al. Jul 1998
5787019 Knight et al. Jul 1998
5787459 Stallmo et al. Jul 1998
5787491 Merkin et al. Jul 1998
5790775 Marks et al. Aug 1998
5790831 Lin et al. Aug 1998
5793948 Asahi et al. Aug 1998
5793987 Quackenbush et al. Aug 1998
5794035 Golub et al. Aug 1998
5796185 Takata et al. Aug 1998
5796580 Komatsu et al. Aug 1998
5796934 Bhanot et al. Aug 1998
5796981 Abudayyeh et al. Aug 1998
5797023 Berman et al. Aug 1998
5798828 Thomas et al. Aug 1998
5799036 Staples Aug 1998
5799196 Flannery Aug 1998
5801921 Miller Sep 1998
5802269 Poisner et al. Sep 1998
5802298 Imai et al. Sep 1998
5802305 McKaughan et al. Sep 1998
5802324 Wunderlich et al. Sep 1998
5802393 Begun et al. Sep 1998
5802552 Fandrich et al. Sep 1998
5802592 Chess et al. Sep 1998
5803357 Lakin Sep 1998
5805804 Laursen et al. Sep 1998
5805834 McKinley et al. Sep 1998
5809224 Schultz et al. Sep 1998
5809256 Najemy Sep 1998
5809287 Stupek, Jr. et al. Sep 1998
5809311 Jones Sep 1998
5809555 Hobson Sep 1998
5812748 Ohran et al. Sep 1998
5812750 Dev et al. Sep 1998
5812757 Okamoto et al. Sep 1998
5812858 Nookala et al. Sep 1998
5815117 Kolanek Sep 1998
5815647 Buckland et al. Sep 1998
5815651 Litt Sep 1998
5815652 Ote et al. Sep 1998
5821596 Miu et al. Oct 1998
5822547 Boesch et al. Oct 1998
5826043 Smith et al. Oct 1998
5829046 Tzelnic et al. Oct 1998
5835719 Gibson et al. Nov 1998
5835738 Blackledge, Jr. et al. Nov 1998
5838932 Alzien Nov 1998
5841964 Yamaguchi Nov 1998
5841991 Russell Nov 1998
5845061 Miyamoto et al. Dec 1998
5845095 Reed et al. Dec 1998
5850546 Kim Dec 1998
5852720 Gready et al. Dec 1998
5852724 Glenn, II et al. Dec 1998
5857074 Johnson Jan 1999
5857102 McChesney et al. Jan 1999
5864653 Tavallaei et al. Jan 1999
5864654 Marchant Jan 1999
5864713 Terry Jan 1999
5867730 Leyda Feb 1999
5875307 Ma et al. Feb 1999
5875308 Egan et al. Feb 1999
5875310 Buckland et al. Feb 1999
5878237 Olarig Mar 1999
5878238 Gan et al. Mar 1999
5881311 Woods Mar 1999
5884027 Garbus et al. Mar 1999
5884049 Atkinson Mar 1999
5886424 Kim Mar 1999
5889965 Wallach et al. Mar 1999
5892898 Fujii et al. Apr 1999
5892915 Duso et al. Apr 1999
5892928 Wallach et al. Apr 1999
5893140 Vahalia et al. Apr 1999
5898846 Kelly Apr 1999
5898888 Guthrie et al. Apr 1999
5905867 Giorgio May 1999
5907672 Matze et al. May 1999
5909568 Nason Jun 1999
5911779 Stallmo et al. Jun 1999
5913034 Malcolm Jun 1999
5922060 Goodrum Jul 1999
5930358 Rao Jul 1999
5935262 Barrett et al. Aug 1999
5936960 Stewart Aug 1999
5938751 Tavallaei et al. Aug 1999
5941996 Smith et al. Aug 1999
5964855 Bass et al. Oct 1999
5983349 Kodama et al. Nov 1999
5987554 Liu et al. Nov 1999
5987621 Duso et al. Nov 1999
5987627 Rawlings, III Nov 1999
6012130 Beyda et al. Jan 2000
6038624 Chan et al. Mar 2000
Foreign Referenced Citations (5)
Number Date Country
0 866 403 A1 Sep 1998 EP
04 333 118 Nov 1992 JP
05 233 110 Sep 1993 JP
07 093 064 Apr 1995 JP
07 261 874 Oct 1995 JP
Non-Patent Literature Citations (25)
Entry
Technology Brief, Where Do I Plug the Cable? Solving the Logical-Physical Slot Numbering Problem; Compag Computer Corporation, Dec. 1996.*
SES SCSI Enclosure Services, X3T10/Project 1212-D/Rev 8a, Jan. 1997.*
Shanley and Anderson, PCI System Architecture, Third Edition, Chapters 15 & 16, pp. 297-328, CR 1995.
PCI Hot-Plug Specification, Preliminary Revision for Review Only, Revision 0.9, pp. i-vi, and 1-25, Mar. 5, 1997.
Davis, T, Usenet post to alt.msdos.programmer, Apr. 1997, “Re: How do I create an FDISK batch file?”.
Davis, T., Usenet post to alt.msdos.batch, Apr. 1997, “Re: Need help with automating FDISK and FORMAT . . . ”.
NetFrame Systems Incorporated, Doc. No. 78-1000226-01, pp. 1-2, 5-8, 359-404, and 471-512, Apr. 1996, “NetFrame Clustered Multiprocessing Software: NW0496 DC-ROM for Novell® NetWare® 4.1 SMP, 4.1, and 3.12.”
Shanley, and Anderson, PCI System Architecture, Third Edition, Chapter 15, pp. 297-302, Copyright 1995, “Intro To Configuration Address Space.”
Shanley, and Anderson, PCI System Architecture, Third Edition, Chapter 16, pp. 303-328, Copyright 1995, “Configuration Transactions.”
Sun Microsystems Computer Company, Part No. 802-5355-10, Rev. A, May 1996, “Solstice SyMON User's Guid.”
Sun Microsystems, Part No. 802-6569-11, Release 1.0.1, Nov. 1996, “Remote Systems Diagnostics Installation & User Guide.”
Lyons, Computer Reseller News, Issue 721, pp. 61-62, Feb. 3, 1997, “ACC Releases Low-Cost Solution for ISPs.”
M2 Communications, M2 Presswire, 2 pages, Dec. 19, 1996, “Novell IntranetWare Supports Hot Pluggable PCI from NetFRAME.”
Rigney, PC Magazine, 14(17): 375-379, Oct. 10, 1995, “The One for the Road (Mobile-aware capabilities in Windows 95).”
Shanley, and Anderson, PCI System Architecture, Third Edition, p. 382, Copyright 1995.
ftp.cdrom.com/pub/os2/diskutil/, PHDX software, phdx.zip download, Mar. 1995, “Parallel Hard Disk Xfer.”
Cmasters, Usenet post to microsoft.public.windowsnt.setup, Aug. 1997, “Re: FDISK switches.”
Hildebrand, N., Usenet post to comp.msdos.programmer, May 1995, “Re: Structure of disk partition into.”
Lewis, L., Usenet post to alt.msdos.batch, Apr. 1997, “Re: Need help with automating FDISK and FORMAT.”
Netframe, http://www.netframe-support.com/technology/datasheets/data.htm, before Mar. 1997, “Netframe ClusterSystem 9008 Data Sheet.”
Simos, M., Usenet post to comp.os.msdos.misc, Apr. 1997, “Re: Auto FDISK and FORMAT.”
Wood, M. H., Usenet post to comp.os.netware.misc, Aug. 1996, “Re: Workstation duplication method for WIN95.”
Gorlick, M., Conf. Proceedings: ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 175-181, 1991, “The Flight Recorder: An Architectural Aid for System Monitoring.”
IBM Technical Disclosure Bulletin, 92A+62947, pp. 391-394, Oct. 1992, Method for Card Hot Plug Detection and Control.
Haban, D. & D. Wybranietz, IEEE Transaction on Software Engineering, 16(2):197-211, Feb. 1990, “A Hybrid Monitor for Behavior and Performance Analysis of Distributed Systems.”
Provisional Applications (2)
Number Date Country
60/046491 May 1997 US
60/046311 May 1997 US