WO2000029529A2 - Systemes et procedes pour modules de commande de reseau et de dispositifs e/s - Google Patents

Systemes et procedes pour modules de commande de reseau et de dispositifs e/s Download PDF

Info

Publication number
WO2000029529A2
WO2000029529A2 PCT/US1999/025595 US9925595W WO0029529A2 WO 2000029529 A2 WO2000029529 A2 WO 2000029529A2 US 9925595 W US9925595 W US 9925595W WO 0029529 A2 WO0029529 A2 WO 0029529A2
Authority
WO
WIPO (PCT)
Prior art keywords
network
driver
storage
data
scsi
Prior art date
Application number
PCT/US1999/025595
Other languages
English (en)
Other versions
WO2000029529A3 (fr
Inventor
Shishir C. Shah
Thomas W. Thompson
David K. Wagner
Original Assignee
Qlogic Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qlogic Corporation filed Critical Qlogic Corporation
Priority to AT99956817T priority Critical patent/ATE285152T1/de
Priority to AU13344/00A priority patent/AU1334400A/en
Priority to JP2000582514A priority patent/JP2002530728A/ja
Priority to CA002350516A priority patent/CA2350516C/fr
Priority to DE69922693T priority patent/DE69922693T2/de
Priority to EP99956817A priority patent/EP1131933B1/fr
Publication of WO2000029529A2 publication Critical patent/WO2000029529A2/fr
Publication of WO2000029529A3 publication Critical patent/WO2000029529A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Definitions

  • Computer systems typically utilize an operating system that provides an interface between application programs and the hardware. For example, operating systems are used to schedule tasks, allocate storage, and handle the interface to peripheral hardware, such as hard drives, optical disk drives, tape drives, network devices and the like.
  • the operating system may be split into a kernel and various system programs.
  • the system programs use facilities provided by the kernel to perform higher-level housekeeping task, often acting as servers in a client-server relationship.
  • an I/O manager handles communication between a driver and an application program or kernel component.
  • the I/O manager responds to an I/O request by issuing an I/O request packet to the appropriate device driver.
  • the driver translates the request into an appropriate form for the targeted device and causes the device to begin the requested I/O operation.
  • the device Once the device completes the I/O operation, the device generates an interrupt which is serviced by the device driver.
  • the I/O manager then completes the I/O request by performing a variety of operations, including, for example, recording the outcome of the I/O operation.
  • Some operating systems such as Windows NT, or UNIX, use a layered approach in implementing device drivers. These operating systems allow several driver layers to exist between an application program and a device. For example, one or more intermediate drivers may be layered on top of a physical device driver. These intermediate driver layers allow hardware-specific operations to be separated from more general management issues. In Windows NT parlance, one such intermediate driver type is referred to as a "class driver,” while the hardware driver is called a "port driver.”
  • the SCSI device driver typically consists of several layers.
  • the SCSI device driver may include a class driver, a SCSI port driver, and a SCSI miniport driver.
  • the operating system invokes the appropriate SCSI class driver and passes the read request to the class driver.
  • the class driver translates the received I/O request packets into I/O request packets with system defined SCSI request blocks (SRBs) containing SCSI command descriptor blocks.
  • SRBs system defined SCSI request blocks
  • the translated I/O request packets are then sent to the next lower driver, which may be, for example, a SCSI port driver.
  • the SCSI port driver translates the SCSI request blocks from the class driver and passes the SCSI request blocks and the command descriptor blocks to the SCSI miniport.
  • the SCSI miniport driver is dynamically linked with the SCSI port driver and provides hardware-specific support for a particular SCSI host bus adapter (HBA).
  • HBA SCSI host bus adapter
  • the SCSI drive performs the read operation and generates an interrupt to the SCSI miniport that then services the interrupt.
  • a device driver is a network driver.
  • the network driver handles communication with networking hardware, such as a NIC (Network Interface Card).
  • networking hardware such as a NIC (Network Interface Card).
  • NIC Network Interface Card
  • Many operating systems, such as Windows NT use driver layering to disengage network protocol management from actual data transfers.
  • a network driver may include a Windows NT LAN (Large Area Network) driver followed by an NDIS or NIC miniport driver.
  • the network driver layers may be interconnected using a Windows NT NDIS (Network Device Interface Specification) interface.
  • the NDIS miniport driver interfaces to the NIC.
  • the NDIS miniport performs the hardware-specific operations needed to manage the NIC.
  • I/O HBA Internet multimedia subsystem
  • NDIS miniport Network interface card
  • Each card is typically connected to separate communication media.
  • the I/O HBA might be connected to a high speed Fibre Channel communication link, which in turn might be connected to one or more server systems or other computer systems.
  • the Fibre Channel link would then handle storage related communications.
  • the NDIS miniport might be connected via a NIC to an Ethernet link, which in turn may be connected to other computer systems.
  • the Ethernet link would then handle the network related communications, such as, in the case of a clustered server system, "heartbeat" information.
  • the network heartbeat traffic is typically much less than the storage related traffic, and therefore the lower bandwidth, lower cost, Ethernet link is considered well suited to handle such lower bandwidth communication.
  • each host system would have at least one I/O HBA and one Ethernet interface card.
  • each storage subsystem would have at least one I/O HBA.
  • the host systems communicate heartbeat information to each other over the Ethernet link. Both the host systems and the storage subsystems communicate storage information over the Fibre Channel.
  • two or more computer systems are interconnected using two communication links.
  • one link is used to carry data using an I/O protocol, such as SCSI, while the other link is used to carry data using a network protocol, such as IP.
  • I/O protocol such as SCSI
  • IP network protocol
  • one embodiment of the present invention detects the failure and uses the remaining link to carry data using both the I/O and network protocols.
  • one embodiment of the present invention provides redundant links for both network and I/O protocol data using two links and two host bus adapters. This contrasts with conventional systems, which typically use two redundant communication links and two host bus adapters for I/O protocol data, and two additional redundant links and two additional host bus adapters for network protocol data.
  • Figure 1 illustrates one embodiment of the present invention
  • Figure 2 illustrates one embodiment of the present invention with redundant communication links
  • Figure 3 illustrates a conventional network driver architecture
  • Figure 4 illustrates a conventional I/O driver architecture
  • Figure 5 illustrates one embodiment of the driver architecture of the present invention.
  • the present invention provides methods and systems for running network and storage protocols over the same communication link.
  • one embodiment of the present invention advantageously reduces the number of interface cards, interface circuits, and communication links, required to network clustered server systems together.
  • the reduction in the number of interface cards, interface circuits, and communication links provides for reduced costs and smaller systems as compared with conventional systems.
  • each host adapter is located on a separate circuit card. In another embodiment, more than one host adapter is located on a circuit card. Each host bus adapter card is typically connected to a local computer bus slot, such as a PCI bus slot.
  • the fail-over technique operates as follows.
  • a Windows NT Cluster Administrator is used to manage and configure network paths and storage devices.
  • one path is designated as the primary network path. If the Cluster
  • An NDIS interface 304 forms a wrapper about an NDIS NIC miniport driver 302, thus providing an interface between the NDIS NIC miniport driver 302, one or more NDIS intermediate drivers 306. LAN protocol drivers 308, and native-media-aware protocol drivers 310. Additionally, the NDIS interface 304 provides common, pre-defined functions to the interface between the NDIS NIC miniport driver 302 and the NIC 312.
  • NIC 312 uses these pre-defined functions, which in turn call other components, to manage the NIC 312 hardware.
  • the SCSI miniport driver 402 is dynamically linked with the SCSI port driver 406 and provides hardware-specific support for a particular SCSI host bus adapter 408.
  • the SCSI driver 400 may include other optional driver layers as well, such as encryption drivers or filter drivers.
  • encryption drivers or filter drivers may be included in conventional systems.
  • the network miniport driver 502 and the SCSI miniport driver 508 allow host-to- host network traffic to be overlaid onto a Fibre Channel bus, or, in an alternative embodiment, onto a SCSI bus. This permits the host-to-host traffic to operate in parallel with normal disk storage related traffic on the same bus.
  • the enhanced driver 502, 508, in combination with the HBA emulate the network interface card (NIC).
  • SCSI driver object extension structure for supporting the enhanced miniport 508.
  • This structure is allocated for each adapter managed by the SCSI miniport 508 for keeping HBA context.
  • the structure includes the following:
  • a port database array containing a list of the SCSI, network, and other devices, currently connected.
  • the port database array is typically built during driver initialization using data received from corresponding HBAs.
  • Pointer and context parameter information including information for imported Notification Callback routines and imported Get Buffer routines described below.
  • a spinlock handles synchronization among various threads of execution running concurrently on a multiprocessor computer.
  • a thread acquires a spinlock before accessing protected resources, such as data structures.
  • the spinlock keeps any thread except the one holding the spinlock, from using the resource.
  • a thread that is waiting on the spinlock loops, or "spins" attempting to acquire the spinlock until it is released by the thread holding the spinlock. Since only one processor at a time can own a spinlock, the resource is safe from collisions.
  • a typical use for a spinlock is to protect a queue used by more than one layer of a driver.
  • a miniport function might queue packets passed to it by a protocol driver. Because other driver functions also use this queue, the miniport function needs to protect the queue with a spinlock, so that only one thread at a time can manipulate the links or contents.
  • the miniport function acquires the spinlock, adds the packet to the queue, and then releases the spinlock. Using a spinlock ensures that the thread holding the spinlock is the only thread modifying the queue links while the packet is safely added to the queue.
  • the driver architecture is further supported by a variety of routines. Some of these routines are standard or modified Windows NT-type routines, such as a Driver Entry routine, a Find Adapter routine, an Initialize Adapter routine, a Start IO routine, an Interrupt Service routine, an interrupt DPC routine, as well as other routines discussed below.
  • routines are standard or modified Windows NT-type routines, such as a Driver Entry routine, a Find Adapter routine, an Initialize Adapter routine, a Start IO routine, an Interrupt Service routine, an interrupt DPC routine, as well as other routines discussed below.
  • an Initialize Adapter routine is called once for each host adapter found in the system.
  • the Initialize Adapter routine is responsible for initializing the host adapter, which, in one embodiment, includes resetting the host adapter processor, downloading code to the host adapter, and starting and initializing the host adapter code.
  • the Initialize Adapter routine will also initialize the port database, and, if IP packets are to be embedded in SCSI packets, enable the host adapter target mode so that the HBA can receive as well as transmit SCSI commands.
  • a StartIO routine is called by the SCSI port driver to pass an SRB, containing a command, to the enhanced SCSI miniport 508 for execution.
  • SCSI port driver In a Windows NT driver, the
  • Startlo routine is responsible for starting an I/O operation on the physical device.
  • the StartIO routine is enhanced to reserve and release the spinlock when accessing the host bus adapter processor queue and the SRB queue.
  • the StartIO routine is further enhanced to support two additional commands.
  • the first command termed the "IOCTL_BD_INQUIRY" command, is used to locate host bus adapters being managed by the enhanced SCSI miniport 508.
  • This command gets the StartIO IRQ level that is used for synchronized access to the spinlock-controlled resources, and saves the IRQ level in the device extension.
  • This command also exports the backdoor StartIO entry point and the entry point for the Reset routine as discussed below.
  • One embodiment of a data structure associated with the IOCTL_BD_INQUIRY command which may be used when the network packets are encapsulated in storage or I/O packets, is as follows:
  • the inquiry data structure is used to export the enhanced SCSI miniport options.
  • the inquiry data structure also exports the startloRoutine backdoor Startlo entry address with the associated startloContext pointer, used for passing Startlo context information.
  • the inquiry data structure exports a backdoor resetRoutine entry address and associated resetContext, used by the NDIS miniport 502 to cause the SCSI miniport 508 to initiate an HBA reset.
  • the inquiry data structure is used to export the numberBuses,
  • the enhanced SCSI miniport supported options include support for a filter driver, support for the enhanced NDIS NIC miniport driver, and support for a port database.
  • the options are defined as follows:
  • the backdoor enable options include the following:
  • the Interrupt Service routine is called by the SCSI port driver when an adapter is requesting service from the host system. This routine will normally be called for fast posting command completion through mailbox registers.
  • a flag in the SRB extension is used to identify the backdoor SRBs. For those commands, the SRB extension also contains the pointer and parameter for the Command Completion callback routine. This callback routine is part of an upper SCSI layer driver or the network driver and is called by the ISR to return the completed command to the appropriate driver.
  • the interrupt DPC routine is scheduled by the Interrupt Service routine to handle more time consuming tasks, such as error handling.
  • the IRQ level is set to DISPATCH_LEVEL for the DPC routine.
  • the response queue is also used for supporting target mode operation.
  • the enhanced SCSI miniport driver 508 includes support for I/O command block-types needed for target mode. • For incoming network data packets, the host adapter sends the SCSI miniport driver 508 an ATTO (accept target I/O) entry in the response queue. The SCSI miniport driver 508, in-turn, calls the Get Buffer routine imported from the network miniport driver to get an address of a free buffer which can be used as a destination buffer. The SCSI miniport driver 508 then sends a CTIO (continue target I/O) entry to the host adapter, passing the destination buffer address for the incoming data packet. When the data transfer is complete, the host adapter fast posts the completion through the mailbox registers, and the ISR will call the network driver Command Completion callback routine, passing the received packet to the NDIS miniport driver 502.
  • CTIO continuous target I/O
  • the NDIS miniport 502 is enhanced to permit network and I/O protocols to be transferred using the same host adapter over the same communications link.
  • an adapter control block structure is allocated for each Ethernet emulation driver initialization. This adapter control block structure includes the following data:
  • the encapsulation of the physical SCSI address within the network address allows the encapsulation of IP packets in SCSI packets to be accomplished quickly, with little overhead.
  • an NDIS Driver Entry routine is the first routine executed when the NDIS miniport driver is loaded.
  • the NDIS Driver Entry routine is responsible for registering the
  • NDIS miniport Initialization routine is then executed once for each Ethernet emulation installed. This NDIS miniport Initialization routine performs one or more of the following tasks:
  • a Send Callback routine is exported to the enhanced miniport driver in the SRB extension.
  • the enhanced SCSI miniport driver 508 calls the Send Callback routine from its interrupt service routine.
  • the Send Callback routine returns the send buffer to the queue of free send buffers and checks the queue stopped flag to see if the send queue is stopped. If stopped, this routine will schedule the execution of a send DPC routine.
  • the HBA supports both I/O and network protocols, and can therefore receive IP packets directly, the HBA does not need to support SCSI target mode.
  • the SCSI miniport Find Adapter routine may therefore be modified to eliminate support for the SCSI target mode.
  • the Find Adapter routine no longer needs to initialize data for the SCSI target mode.
  • the Find Adapter routine may be further modified to initialize the IP receive buffer queue. Support for the SCSI target mode may also be eliminated from the Interrupt DPC Routine.
  • the NDIS miniport driver 5902 does not need the port database, because all addressing is handled by the SCSI miniport driver 508.
  • the SCSI miniport driver 508 takes the network node name in the IP packet header, searches for a corresponding Loop ID in the IP port database, and provides the Loop
  • the Send routine may be modified to no longer build the SCSI Send CDB in the SRB. Furthermore, because the IP- capable HBA now handles broadcast messages, the Send routine code that simulated an IP broadcast may be eliminated.
  • the Send routine may be modified to support NDIS calls to send multiple packets at a time. Thus, multiple send packets can be sent to the SCSI mimport backdoor Start IO routine in a single call.
  • the Send DPC routine and the Receive DPC routine may be combined into a single DPC routine to handle both functions. After the received packets have been indicated up the driver layer stack to higher level network drivers, the free receive buffers are returned directly to the HBA processor receive buffer queue.
  • the SCSI miniport backdoor routine, AddBuffersRoutine is called to notify the SCSI miniport and the HBA processor of the additional free buffers.

Abstract

La présente invention concerne des systèmes et des procédés de transfert de données de stockage et de données de réseau utilisant le même circuit d'interface. Les données de stockage sont transférées d'un module de commande de stockage de couche supérieure à un module de commande de stockage de couche inférieure. Les données du réseau sont transférées d'un module de commande de réseau au module de commande de stockage de la couche inférieure. Les données de stockage et les données réseau sont transférées vers un circuit d'interface de liaison de communication, dans lequel les données de stockage sont trsansférées à l'aide d'un protocole de stockage et les données réseau sont transférées à l'aide d'un protocole réseau.
PCT/US1999/025595 1998-11-16 1999-10-29 Systemes et procedes pour modules de commande de reseau et de dispositifs e/s WO2000029529A2 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
AT99956817T ATE285152T1 (de) 1998-11-16 1999-10-29 Systemen und verfahren für netzwerkvorrichtung und ein-/ausgabegerätetreiber
AU13344/00A AU1334400A (en) 1998-11-16 1999-10-29 Systems and methods for network and i/o device drivers
JP2000582514A JP2002530728A (ja) 1998-11-16 1999-10-29 ネットワークのためのシステムおよび方法並びにi/oデバイス・ドライバー
CA002350516A CA2350516C (fr) 1998-11-16 1999-10-29 Systemes et procedes pour modules de commande de reseau et de dispositifs e/s
DE69922693T DE69922693T2 (de) 1998-11-16 1999-10-29 Systemem und verfahren für netzwerkvorrichtung und ein-ausgabegerätetreiber
EP99956817A EP1131933B1 (fr) 1998-11-16 1999-10-29 Systemes et procedes pour modules de commande de reseau et de dispositifs e/s

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10852798P 1998-11-16 1998-11-16
US60/108,527 1998-11-16
US09/280,506 1999-03-30
US09/280,506 US6470397B1 (en) 1998-11-16 1999-03-30 Systems and methods for network and I/O device drivers

Publications (2)

Publication Number Publication Date
WO2000029529A2 true WO2000029529A2 (fr) 2000-05-25
WO2000029529A3 WO2000029529A3 (fr) 2000-07-20

Family

ID=26805985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/025595 WO2000029529A2 (fr) 1998-11-16 1999-10-29 Systemes et procedes pour modules de commande de reseau et de dispositifs e/s

Country Status (8)

Country Link
US (1) US6470397B1 (fr)
EP (1) EP1131933B1 (fr)
JP (1) JP2002530728A (fr)
AT (1) ATE285152T1 (fr)
AU (1) AU1334400A (fr)
CA (1) CA2350516C (fr)
DE (1) DE69922693T2 (fr)
WO (1) WO2000029529A2 (fr)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054266A1 (fr) 2001-01-02 2002-07-11 Han-Gyoo Kim Systeme a disque pouvant etre attache directement a un reseau
US7089322B1 (en) * 1999-10-28 2006-08-08 Motient Communications Inc. System and method of aggregating data from a plurality of data generating machines
US7457880B1 (en) 2003-09-26 2008-11-25 Ximeta Technology, Inc. System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
US7483967B2 (en) 1999-09-01 2009-01-27 Ximeta Technology, Inc. Scalable server architecture based on asymmetric 3-way TCP
US7664836B2 (en) 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US7746900B2 (en) 2004-07-22 2010-06-29 Zhe Khi Pak Low-level communication layers and device employing same
US7783761B2 (en) 2001-07-16 2010-08-24 Zhe Khi Pak Scheme for dynamically connecting I/O devices through network
US7792923B2 (en) 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
US7849257B1 (en) 2005-01-06 2010-12-07 Zhe Khi Pak Method and apparatus for storing and retrieving data
US7860943B2 (en) 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US7076568B2 (en) * 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6807581B1 (en) 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6615264B1 (en) * 1999-04-09 2003-09-02 Sun Microsystems, Inc. Method and apparatus for remotely administered authentication and access control
US6732166B1 (en) * 1999-05-28 2004-05-04 Intel Corporation Method of distributed resource management of I/O devices in a network cluster
WO2001001257A2 (fr) * 1999-06-28 2001-01-04 Sangate Systems Inc. Repartiteur intelligent, systeme, et procedes d'utilisation
US6832379B1 (en) * 1999-08-17 2004-12-14 Emc Corporation Computer architecture utilizing layered device drivers
US6959439B1 (en) * 1999-09-30 2005-10-25 Mindspeed Technologies System interface abstraction layer
US7039922B1 (en) * 1999-11-29 2006-05-02 Intel Corporation Cluster with multiple paths between hosts and I/O controllers
US6772189B1 (en) * 1999-12-14 2004-08-03 International Business Machines Corporation Method and system for balancing deferred procedure queues in multiprocessor computer systems
US6983330B1 (en) * 1999-12-29 2006-01-03 Emc Corporation Method and apparatus for using multiple paths for processing out of band commands
US20010033554A1 (en) * 2000-02-18 2001-10-25 Arun Ayyagari Proxy-bridge connecting remote users to a limited connectivity network
US6957432B2 (en) * 2000-03-21 2005-10-18 Microsoft Corporation Real-time scheduler
US6990669B1 (en) 2000-03-21 2006-01-24 Microsoft Corporation Real-time scheduler
US6779185B1 (en) * 2000-04-24 2004-08-17 Microsoft Corporation Bluetooth miniport driver model
US7389334B2 (en) * 2000-04-24 2008-06-17 Microsoft Corporation Exposing bluetooth compliant wireless device connection as modems or sockets
US6754718B1 (en) * 2000-05-10 2004-06-22 Emc Corporation Pushing attribute information to storage devices for network topology access
FI20001509A (fi) * 2000-06-26 2001-12-27 Nokia Networks Oy Pakettitiedon lähetysjärjestelmä ja verkkoelementti
US6952734B1 (en) 2000-08-21 2005-10-04 Hewlett-Packard Development Company, L.P. Method for recovery of paths between storage area network nodes with probationary period and desperation repair
US6922414B1 (en) * 2000-08-21 2005-07-26 Hewlett-Packard Development Company, L.P. Apparatus and method for dynamic command queue depth adjustment for storage area network nodes
US6804819B1 (en) * 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6813670B1 (en) * 2000-09-26 2004-11-02 Microsoft Corporation Automatic server-side plug-and-play without user intervention
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US7113995B1 (en) 2000-10-19 2006-09-26 International Business Machines Corporation Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system
US6990528B1 (en) 2000-10-19 2006-01-24 International Business Machines Corporation System area network of end-to-end context via reliable datagram domains
US6941350B1 (en) 2000-10-19 2005-09-06 International Business Machines Corporation Method and apparatus for reliably choosing a master network manager during initialization of a network computing system
US6981025B1 (en) 2000-10-19 2005-12-27 International Business Machines Corporation Method and apparatus for ensuring scalable mastership during initialization of a system area network
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for a system area network
US7636772B1 (en) 2000-10-19 2009-12-22 International Business Machines Corporation Method and apparatus for dynamic retention of system area network management information in non-volatile store
US6978300B1 (en) 2000-10-19 2005-12-20 International Business Machines Corporation Method and apparatus to perform fabric management
US6961942B1 (en) 2000-11-06 2005-11-01 Microsoft Corporation Bluetooth TDI and winsock interface
US20020073257A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Transferring foreign protocols across a system area network
US20020083150A1 (en) * 2000-12-27 2002-06-27 Linden Minnick Accessing information from memory
US20020144004A1 (en) * 2001-03-29 2002-10-03 Gaur Daniel R. Driver having multiple deferred procedure calls for interrupt processing and method for interrupt processing
US20020159456A1 (en) * 2001-04-27 2002-10-31 Foster Michael S. Method and system for multicasting in a routing device
US6839706B2 (en) * 2001-08-06 2005-01-04 Lefthand Networks, Inc. Block data storage within a computer network
US6973512B1 (en) * 2001-09-06 2005-12-06 Cypress Semiconductor Corp. Adaptive peripheral device driver and software call methodology for creating same
US7389332B1 (en) 2001-09-07 2008-06-17 Cisco Technology, Inc. Method and apparatus for supporting communications between nodes operating in a master-slave configuration
US7248570B2 (en) * 2001-09-17 2007-07-24 Microsoft Corporation System and method for coordinating bandwidth usage of a communication channel by wireless network nodes
US7194263B2 (en) * 2001-09-17 2007-03-20 Microsoft Corporation System and method for concurrent operation of a wireless device in two disjoint wireless networks
US7093265B1 (en) * 2001-09-21 2006-08-15 Lsi Logic Corporation Method and apparatus for providing highly-transparent, host-based multi-pathing support
US7464016B2 (en) * 2001-11-09 2008-12-09 Sun Microsystems, Inc. Hot plug and hot pull system simulation
JP2003241903A (ja) * 2002-02-14 2003-08-29 Hitachi Ltd 記憶制御装置、ストレージシステム、及びその制御方法
US7421478B1 (en) 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US7188194B1 (en) * 2002-04-22 2007-03-06 Cisco Technology, Inc. Session-based target/LUN mapping for a storage area network and associated method
US7415535B1 (en) 2002-04-22 2008-08-19 Cisco Technology, Inc. Virtual MAC address system and method
US7200610B1 (en) 2002-04-22 2007-04-03 Cisco Technology, Inc. System and method for configuring fibre-channel devices
US6895461B1 (en) * 2002-04-22 2005-05-17 Cisco Technology, Inc. Method and apparatus for accessing remote storage using SCSI and an IP network
US7433952B1 (en) 2002-04-22 2008-10-07 Cisco Technology, Inc. System and method for interconnecting a storage area network
US7587465B1 (en) 2002-04-22 2009-09-08 Cisco Technology, Inc. Method and apparatus for configuring nodes as masters or slaves
US7165258B1 (en) 2002-04-22 2007-01-16 Cisco Technology, Inc. SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US7385971B1 (en) 2002-05-09 2008-06-10 Cisco Technology, Inc. Latency reduction in network data transfer operations
US7509436B1 (en) * 2002-05-09 2009-03-24 Cisco Technology, Inc. System and method for increased virtual driver throughput
US7240098B1 (en) 2002-05-09 2007-07-03 Cisco Technology, Inc. System, method, and software for a virtual host bus adapter in a storage-area network
US7953876B1 (en) * 2002-10-24 2011-05-31 Emulex Design & Manufacturing Corporation Virtual interface over a transport protocol
US7831736B1 (en) 2003-02-27 2010-11-09 Cisco Technology, Inc. System and method for supporting VLANs in an iSCSI
US7295572B1 (en) 2003-03-26 2007-11-13 Cisco Technology, Inc. Storage router and method for routing IP datagrams between data path processors using a fibre channel switch
US7433300B1 (en) 2003-03-28 2008-10-07 Cisco Technology, Inc. Synchronization of configuration data in storage-area networks
US7904599B1 (en) 2003-03-28 2011-03-08 Cisco Technology, Inc. Synchronization and auditing of zone configuration data in storage-area networks
US7526527B1 (en) 2003-03-31 2009-04-28 Cisco Technology, Inc. Storage area network interconnect server
US7451208B1 (en) 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
US7421710B2 (en) * 2003-10-08 2008-09-02 Lsi Corporation System and method of creating virtual data paths using a multiple-path driver
US7406509B2 (en) * 2004-01-07 2008-07-29 Network Appliance, Inc. Dynamic switching of a communication port in a storage system between target and initiator modes
US20050149732A1 (en) 2004-01-07 2005-07-07 Microsoft Corporation Use of static Diffie-Hellman key with IPSec for authentication
US7293019B2 (en) * 2004-03-02 2007-11-06 Microsoft Corporation Principles and methods for personalizing newsfeeds via an analysis of information novelty and dynamics
US7325075B1 (en) 2004-03-15 2008-01-29 Hewlett-Packard Development Company, L.P. Methods for address and name discovery for Ethernet entities
DE112004002797B4 (de) * 2004-03-19 2015-12-31 Zakrytoe Aktsionernoe Obschestvo "Intel A/O" Ausfallsicherung und Lastausgleich
US7760626B2 (en) * 2004-03-31 2010-07-20 Intel Corporation Load balancing and failover
US7533190B2 (en) 2004-04-08 2009-05-12 Intel Corporation Network storage target boot and network connectivity through a common network device
US8914459B2 (en) 2004-04-14 2014-12-16 Hewlett-Packard Development Company, L.P. Redirecting I/O request to remote networked peripheral device
US8228931B1 (en) * 2004-07-15 2012-07-24 Ciena Corporation Distributed virtual storage switch
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US7373433B2 (en) * 2004-10-22 2008-05-13 International Business Machines Corporation Apparatus and method to provide failover protection in an information storage and retrieval system
US8789051B2 (en) * 2004-11-18 2014-07-22 Hamilton Sundstrand Corporation Operating system and architecture for embedded system
US7430629B2 (en) * 2005-05-12 2008-09-30 International Business Machines Corporation Internet SCSI communication via UNDI services
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US20070073966A1 (en) * 2005-09-23 2007-03-29 Corbin John R Network processor-based storage controller, compute element and method of using same
US20070174360A1 (en) * 2006-01-11 2007-07-26 Yuichi Yagawa Storage system embedding database
JP2008059312A (ja) * 2006-08-31 2008-03-13 Hitachi Ltd 制御装置およびその開発システム
US8108882B1 (en) * 2006-09-28 2012-01-31 Emc Corporation Method and apparatus for interfacing an operating system with a network interface device
US20080155571A1 (en) * 2006-12-21 2008-06-26 Yuval Kenan Method and System for Host Software Concurrent Processing of a Network Connection Using Multiple Central Processing Units
JP4571171B2 (ja) * 2007-08-06 2010-10-27 シャープ株式会社 受像機
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US7908404B1 (en) * 2007-11-09 2011-03-15 Qlogic, Corporation Method and system for managing network and storage data
US7720064B1 (en) * 2007-12-21 2010-05-18 Qlogic, Corporation Method and system for processing network and storage data
US8711817B2 (en) * 2008-06-04 2014-04-29 Microsoft Corporation Low cost mesh network capability
US8391300B1 (en) 2008-08-12 2013-03-05 Qlogic, Corporation Configurable switch element and methods thereof
KR101490548B1 (ko) * 2008-12-05 2015-02-05 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US9069851B2 (en) 2009-01-15 2015-06-30 Social Communications Company Client application integrating web browsing and network data stream processing for realtime communications
US8978052B1 (en) 2009-04-29 2015-03-10 Qlogic, Corporation System and methods for inter-driver communication
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US8225004B1 (en) 2010-03-31 2012-07-17 Qlogic, Corporation Method and system for processing network and storage data
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8812707B2 (en) 2011-05-25 2014-08-19 Lsi Corporation Transmitting internet protocol over SCSI in a high availability cluster
US20140136740A1 (en) * 2011-06-29 2014-05-15 Hitachi, Ltd. Input-output control unit and frame processing method for the input-output control unit
US8769088B2 (en) 2011-09-30 2014-07-01 International Business Machines Corporation Managing stability of a link coupling an adapter of a computing system to a port of a networking device for in-band data communications
JP5890648B2 (ja) * 2011-10-21 2016-03-22 キヤノンイメージングシステムズ株式会社 情報処理装置、その制御方法、およびデバイス制御システム
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US20140359612A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Sharing a Virtual Hard Disk Across Multiple Virtual Machines
US10897506B2 (en) 2014-07-02 2021-01-19 Hewlett Packard Enterprise Development Lp Managing port connections
CN106796572A (zh) * 2014-09-05 2017-05-31 慧与发展有限责任合伙企业 通过光纤通道的数据存储
US10733131B1 (en) 2019-02-01 2020-08-04 Hewlett Packard Enterprise Development Lp Target port set selection for a connection path based on comparison of respective loads

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0581591A1 (fr) * 1992-07-31 1994-02-02 International Business Machines Corporation Système et méthode de transfert de données
WO1994006091A1 (fr) * 1992-09-04 1994-03-17 Jostens Learning Corporation Reseau video local
GB2298344A (en) * 1995-02-23 1996-08-28 Fujitsu Ltd Network terminal equipment
GB2308904A (en) * 1996-01-06 1997-07-09 Earl Walter Roper SCSI bus extension over the ethernet
US5802391A (en) * 1993-03-16 1998-09-01 Ht Research, Inc. Direct-access team/workgroup server shared by team/workgrouped computers without using a network operating system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491812A (en) * 1992-09-28 1996-02-13 Conner Peripherals, Inc. System and method for ethernet to SCSI conversion
US5613096A (en) * 1994-11-04 1997-03-18 Canon Information Systems, Inc. Network protocol sensor
US6148346A (en) * 1996-06-20 2000-11-14 Peerless Systems Imaging Products, Inc. Dynamic device driver
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6233624B1 (en) * 1997-05-08 2001-05-15 Microsoft Corporation System and method for layering drivers
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6173346B1 (en) * 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US5991813A (en) * 1997-05-16 1999-11-23 Icon Cmt Corp. Network enabled SCSI interface
US5905509A (en) * 1997-09-30 1999-05-18 Compaq Computer Corp. Accelerated Graphics Port two level Gart cache having distributed first level caches
US6044415A (en) * 1998-02-27 2000-03-28 Intel Corporation System for transferring I/O data between an I/O device and an application program's memory in accordance with a request directly over a virtual connection
US6209023B1 (en) * 1998-04-24 2001-03-27 Compaq Computer Corporation Supporting a SCSI device on a non-SCSI transport medium of a network
US6202147B1 (en) * 1998-06-29 2001-03-13 Sun Microsystems, Inc. Platform-independent device drivers
US6233619B1 (en) * 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
DE19852971A1 (de) * 1998-11-17 2000-05-18 Cognis Deutschland Gmbh Schmiermittel für Bohrspülungen
US6317842B1 (en) * 1999-02-16 2001-11-13 Qlogic Corporation Method and circuit for receiving dual edge clocked data
US6330626B1 (en) * 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0581591A1 (fr) * 1992-07-31 1994-02-02 International Business Machines Corporation Système et méthode de transfert de données
WO1994006091A1 (fr) * 1992-09-04 1994-03-17 Jostens Learning Corporation Reseau video local
US5802391A (en) * 1993-03-16 1998-09-01 Ht Research, Inc. Direct-access team/workgroup server shared by team/workgrouped computers without using a network operating system
GB2298344A (en) * 1995-02-23 1996-08-28 Fujitsu Ltd Network terminal equipment
GB2308904A (en) * 1996-01-06 1997-07-09 Earl Walter Roper SCSI bus extension over the ethernet

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483967B2 (en) 1999-09-01 2009-01-27 Ximeta Technology, Inc. Scalable server architecture based on asymmetric 3-way TCP
US7089322B1 (en) * 1999-10-28 2006-08-08 Motient Communications Inc. System and method of aggregating data from a plurality of data generating machines
US7870225B2 (en) 2000-10-13 2011-01-11 Zhe Khi Pak Disk system adapted to be directly attached to network
US7849153B2 (en) 2000-10-13 2010-12-07 Zhe Khi Pak Disk system adapted to be directly attached
US7792923B2 (en) 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
EP1348164A4 (fr) * 2001-01-02 2007-12-05 Han-Gyoo Kim Systeme a disque pouvant etre attache directement a un reseau
WO2002054266A1 (fr) 2001-01-02 2002-07-11 Han-Gyoo Kim Systeme a disque pouvant etre attache directement a un reseau
EP1348164A1 (fr) * 2001-01-02 2003-10-01 Han-Gyoo Kim Systeme a disque pouvant etre attache directement a un reseau
US7783761B2 (en) 2001-07-16 2010-08-24 Zhe Khi Pak Scheme for dynamically connecting I/O devices through network
US7457880B1 (en) 2003-09-26 2008-11-25 Ximeta Technology, Inc. System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
US7664836B2 (en) 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US7746900B2 (en) 2004-07-22 2010-06-29 Zhe Khi Pak Low-level communication layers and device employing same
US7860943B2 (en) 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller
US7849257B1 (en) 2005-01-06 2010-12-07 Zhe Khi Pak Method and apparatus for storing and retrieving data

Also Published As

Publication number Publication date
CA2350516C (fr) 2006-01-24
EP1131933A2 (fr) 2001-09-12
WO2000029529A3 (fr) 2000-07-20
US6470397B1 (en) 2002-10-22
DE69922693T2 (de) 2005-12-22
EP1131933B1 (fr) 2004-12-15
JP2002530728A (ja) 2002-09-17
DE69922693D1 (de) 2005-01-20
AU1334400A (en) 2000-06-05
CA2350516A1 (fr) 2000-05-25
ATE285152T1 (de) 2005-01-15

Similar Documents

Publication Publication Date Title
US6470397B1 (en) Systems and methods for network and I/O device drivers
US5784617A (en) Resource-capability-based method and system for handling service processor requests
US6260158B1 (en) System and method for fail-over data transport
US6044415A (en) System for transferring I/O data between an I/O device and an application program's memory in accordance with a request directly over a virtual connection
US8010707B2 (en) System and method for network interfacing
US10860511B1 (en) Integrated network-attachable controller that interconnects a solid-state drive with a remote server computer
US6718370B1 (en) Completion queue management mechanism and method for checking on multiple completion queues and processing completion events
US7934021B2 (en) System and method for network interfacing
US8489848B2 (en) Data communications between the computer memory of the logical partitions and the data storage devices through a host fibre channel adapter
US20060195663A1 (en) Virtualized I/O adapter for a multi-processor data processing system
US20070174851A1 (en) N-Port virtualization driver-based application programming interface and split driver implementation
US6047338A (en) System for transferring a data directly from/to an address space of a calling program upon the calling program invoking a high performance interface for computer networks
US4771286A (en) Lan controller having split bus design
JPH11328135A (ja) 並列処理コンピュ―タ・システム
JPH11316748A (ja) 並列処理コンピュ―タ・システムにおけるデ―タの転送方法
JPH11316746A (ja) 拡張可能な並列処理コンピュ―タ・システムにおけるデ―タ通信方法
JPH08255122A (ja) クラスタ化コンピューティング・システムのディスク・アクセス・パスにおける障害から回復する方法および関連する装置
JPH084267B2 (ja) コンピュータ・ネットワーク・システム
JP2003503796A (ja) インテリジェントスプリッタ、システム、および使用方法
US9069592B2 (en) Generic transport layer mechanism for firmware communication
EP1579334B1 (fr) Pilote universel multichemin destine a des systemes de stockage
KR20040079408A (ko) 시스템 상호접속 버스 상에서의 지연 데이터 전송 추적
US7924859B2 (en) Method and system for efficiently using buffer space
EP1460805B1 (fr) Système et procédé pour assurer une interface réseau
WO2004021628A2 (fr) Systeme et procede d'interfaçage de reseau

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: AU

Ref document number: 2000 13344

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2350516

Country of ref document: CA

Ref country code: CA

Ref document number: 2350516

Kind code of ref document: A

Format of ref document f/p: F

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 582514

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1999956817

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999956817

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 1999956817

Country of ref document: EP