IP Library Granted Patent US 7,328,144
Granted Patent B1
US 7,328,144 · App. 10/833,809 · Granted Feb 5, 2008

System and method for simulating a software protocol stack using an emulated protocol over an emulated network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,328,144
App. No.
10/833,809
Granted
Feb 5, 2008
Kind
B1
Abstract

A system and method for simulating a software protocol stack over an emulated network using an emulated protocol. A storage operating system simulator, executing on a host computer, includes an interconnect communication stack that utilizes an emulated protocol over an emulated network to communicate with another storage operating system simulator configured in a cluster configuration.

Claims (40)

1. A system for simulating software protocol stacks, the system comprising:

a host computer executing a host operating system and a plurality of storage operating system simulators, each storage operating system simulator including a software protocol stack; and

an interprocess data pathway interconnecting the software protocol stacks, whereby the software protocol stacks are utilized in performing input/output operations over the data pathway.

2. The system of claim 1 wherein the software protocol stack comprises an interconnect communication stack.

3. The system of claim 2 wherein the interconnect communication stack comprises:

an interconnect bulk module adapted to provide flow control over the interprocess pathway; and

an emulated protocol module adapted to emulate a protocol that supports remote direct memory access operations over a protocol that does not natively support remote direct memory access operations.

4. The system of claim 3 wherein the protocol that supports remote direct memory access operations comprises a virtual interface protocol.

5. The system of claim 3 wherein the protocol that does not natively support remote direct memory access operations comprises an Ethernet protocol.

6. The system of claim 1 wherein the interprocess data pathway comprises a shared memory space of ring buffers.

7. The system of claim 1 wherein the interprocess data pathway comprises a socket pair between the software protocol stacks.

8. A system for simulating software protocol stacks, the system comprising:

means for executing a plurality of storage operating system simulators, each of the storage operating system simulators including a software protocol stack; and

means for interconnecting the software protocol stacks, whereby the software protocol stacks are utilized in performing input/output operations over the means for interconnecting the software protocol stacks.

9. The system of claim 8 wherein the software protocol stack comprises an interconnect communication stack.

10. The system of claim 9 wherein the interconnect communication stack comprises:

means for providing flow control over the data pathway; and

means for emulating a protocol that supports remote direct memory access operations over a protocol that does not natively support remote direct memory access operations.

11. The system of claim 9 wherein the protocol that supports remote direct memory access operations comprises a virtual interface protocol.

12. The system of claim 9 wherein the protocol that does not natively support remote direct memory access operations comprises an Ethernet protocol.

13. The system of claim 8 wherein the means for interconnecting the software protocol study comprises a shared memory space of ring buffer.

14. The system of claim 8 wherein the means for interconnecting the software protocol stacks comprises a socket pair between the software protocol stacks.

15. A method comprising:

executing, on a host computer having a host operating system, two or more storage operating system simulators, each having a software protocol stack; and

interconnecting the software protocol stacks by an interprocess data pathway, whereby the software protocol stacks are utilized in performing input/output operations over the data pathway.

16. The method of claim 15 further comprising:

generating a packet in a first protocol stack of the software protocol stacks;

transferring the packet over the interprocess data pathway to a second protocol stack of the software protocol stacks; and

processing the packet in the second protocol stack.

17. The method of claim 16 further comprising: executing a cluster failover module to generate the packet.

18. The method of claim 16 further comprising: executing a Small Computer Systems Interface (SCSI) target module to generate the packet.

19. The method of claim 16 further comprising: executing an emulated Virtual Interface protocol adaptor (MVIA) module to transfer the packet.

20. The method of claim 16 wherein the packet has a command, the method further comprising: determining whether the command is either a read command or a write command.

21. The method of claim 20 further comprising: directly accessing a memory of the second protocol stack with a command when the command is a read command.

22. The method of claim 20 further comprising:

passing the command through an emulated Virtual Interface protocol adaptor (MVIA) when the command is a write command, the MVIA configured to implement a protocol layer that maps an API with appropriate semantics onto a transport medium that lacks the appropriate semantics; and

accessing a memory interfaced to the MVIA with the command.

23. The method of claim 22 wherein the API is a Small Computer System Interface (SCSI) target module.

24. The method of claim 15 further comprising: performing testing of the storage operating system.

25. The method of claim 15 further comprising: performing debugging of the storage operating system.

Assignments (3)
CHANGE OF NAME Recorded Jul 14, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067983/0117 →
CHANGE OF NAME Recorded Oct 21, 2010
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 025169/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2004
From: GRIER, JAMES R.; SCHOENTHAL, SCOTT
To: NETWORK APPLIANCE, INC.
Reel/Frame 015277/0731 →