Claims
- 1. A shared I/O subsystem that couples a plurality of computer systems to at least one shared I/O interface, comprising:
a plurality of virtual I/O interfaces communicatively coupled to the computer systems, each of the computer systems including a virtual adapter that communicates with one of the virtual I/O interfaces; and a forwarding function having a forwarding table that includes a plurality of entries corresponding to each of the virtual I/O interfaces, wherein the forwarding function receives a first I/O packet from one of the virtual I/O interfaces and uses the forwarding table to direct the first I/O packet to at least one of a physical adapter associated with the at least one shared I/O interface and one or more of other ones of the virtual I/O interfaces, and receives a second I/O packet from the physical adapter and uses the forwarding table to direct the second I/O packet to one or more of the virtual I/O interfaces.
- 2. The shared I/O subsystem of claim 1, wherein the virtual adapter includes a virtual Network Interface Card (NIC).
- 3. The shared I/O subsystem of claim 1, wherein the virtual adapter includes a virtual Host Bust Adapter (HBA).
- 4. The shared I/O subsystem of claim 1, wherein the physical adapter includes a NIC.
- 5. The shared I/O subsystem of claim 1, wherein the physical adapter includes a HBA.
- 6. The shared I/O subsystem of claim 1, wherein the at least one shared I/O interface is operatively coupled to at least one of a network, an appliance, and a device.
- 7. The shared I/O subsystem of claim 6, wherein the network is a Storage Area Network.
- 8. The shared I/O subsystem of claim 6, wherein the network is an InterProcess Communications Network.
- 9. The shared I/O subsystem of claim 6, wherein the network is a Local Area Network.
- 10. The shared I/O subsystem of claim 6, wherein the network is a Wide Area Network.
- 11. The shared I/O subsystem of claim 6, wherein the network is a Metropolitan Area Network.
- 12. The shared I/O subsystem of claim 6, wherein the network is a System Area Network.
- 13. The shared I/O subsystem of claim 1, wherein the computer systems include two or more servers, and wherein one of the servers uses an operating system that is different from an operating system used by one other of the servers.
- 14. The shared I/O subsystem of claim 1, wherein the computer systems are interconnected to the shared I/O subsystem by a switching fabric.
- 15. The shared I/O subsystem of claim 14, wherein the switching fabric comprises a high speed, high bandwidth, and low latency fabric.
- 16. The shared I/O subsystem of claim 15, wherein the switching fabric includes a plurality of dedicated circuits, and wherein each of the computer systems communicates with any one of the computer systems via the dedicated circuits.
- 17. The shared I/O subsystem of claim 16, wherein the switching fabric uses an InfiniBand protocol.
- 18. The shared I/O subsystem of claim 1, wherein at least one of the first I/O packet and the second I/O packet is a data packet.
- 19. The shared I/O subsystem of claim 18, wherein the data packet is filtered in the shared I/O subsystem.
- 20. The shared I/O subsystem of claim 1, wherein the shared I/O subsystem is situated in one of the computer systems.
- 21. The shared I/O subsystem of claim 1, wherein at least one of the computer systems communicates with at least one of the virtual I/O interfaces using a protocol that uses at lest one of a Send/Receive message passing and a Remote Direct Memory Access (RDMA).
- 22. The shared I/O subsystem of claim 1, wherein at least one of the computer systems includes two or more virtual adapters that communicate with two or more of the shared I/O subsystems.
- 23. The shared I/O subsystem of claim 1, wherein at least one of the computer systems includes two or more virtual adapters that communicate with two or more of the virtual I/O interfaces of the shared I/O subsystem.
- 24. The shared I/O subsystem of claim 1, wherein the at least one shared I/O interface is operatively coupled to a network unit including at least one of a switch, a hub, a router, and a bridge.
- 25. The shared I/O subsystem of claim 1, wherein the forwarding function performs at least one of an address translation and an address filtering for at least one of the first I/O packet and the second I/O packet.
- 26. The shared I/O subsystem of claim 1, wherein the forwarding table facilitates at least one of a Logical Unit Number (LUN) masking and a mapping for at least one of the first I/O packet and the second I/O packet.
- 27. In a shared I/O subsystem that couples a plurality of computer systems to at least one shared I/O interface, the shared I/O subsystem having at least one physical adapter associated with the at least one shared I/O interface, a plurality of virtual I/O interfaces, and a forwarding function, the forwarding function having a forwarding table that includes a plurality of entries corresponding to each of the virtual I/O interfaces, a method comprising:
communicatively coupling the virtual I/O interfaces to the computer systems, wherein each of the computer systems includes a virtual adapter that communicates with one of the virtual I/O interfaces; receiving, with the forwarding function, a first I/O packet from one of the virtual I/O interfaces; directing, by using the forwarding table, the first I/O packet to at least one of the physical adapter and one or more of other ones of the virtual I/O interfaces; receiving, with the forwarding function, a second I/O packet from the physical adapter; and directing, by using the forwarding table, the second I/O packet to one or more of the virtual I/O interfaces.
- 28. A shared I/O subsystem that couples a plurality of computer systems to at least one shared I/O interface, the shared I/O subsystem having at least one physical adapter associated with the at least one shared I/O interface, a plurality of virtual I/O interfaces, and a forwarding function, the forwarding function having a forwarding table that includes a plurality of entries corresponding to each of the virtual I/O interfaces, comprising:
means for communicatively coupling the virtual I/O interfaces to the computer systems, wherein each of the computer systems includes a virtual adapter that communicates with one of the virtual I/O interfaces; means for receiving, with the forwarding function, a first I/O packet from one of the virtual I/O interfaces; means for directing, by using the forwarding table, the first I/O packet to at least one of the physical adapter and one or more of other ones of the virtual I/O interfaces; means for receiving, with the forwarding function, a second I/O packet from the physical adapter; and means for directing, by using the forwarding table, the second I/O packet to one or more of the virtual I/O interfaces.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to provisional patent application No. 60/380,070, entitled “Shared I/O Subsystem”, filed May 6, 2002, incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60380071 |
May 2002 |
US |