Computer system and method for controlling storage apparatus
US-2019065064-A1 · Feb 28, 2019 · US
US10656877B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10656877-B2 |
| Application number | US-201715831744-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 5, 2017 |
| Priority date | Dec 6, 2016 |
| Publication date | May 19, 2020 |
| Grant date | May 19, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An exemplary embodiment disclosed herein is a method including a virtual storage controller receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine; determining whether a local service virtual machine is unresponsive to the virtual storage controller; translating the I/O command from the native drive communications protocol to an IP-based storage communications protocol to create a translated I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the translated I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the translated I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine.
Opening claim text (preview).
What is claimed is: 1. A method comprising: by a virtual storage controller running on a host machine, receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine; determining whether a local service virtual machine on a same node as the virtual storage controller is unresponsive to the virtual storage controller by: pinging the local service virtual machine; and detecting whether the local service virtual machine fails to respond to the virtual storage controller within a pre-determined amount of time after pinging by the virtual storage controller; embedding an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the embedded I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the embedded I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine. 2. The method of claim 1 , wherein the embedded I/O command comprises a read command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful read operation, an error message, or data retrieval. 3. The method of claim 1 , wherein the embedded I/O command comprises a write command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful write operation, an error message, or data retrieval. 4. The method of claim 1 , wherein the embedded I/O command is a command to test whether a storage device is ready, format the storage device, read block limits for the storage device, reassign blocks for the storage device, verify data, copy data, erase data, determine or retrieve diagnostic data for the storage device, verify data integrity via data on the storage device, retrieve information about the storage device, initiate repair, overwrite data, or encrypt data. 5. The method of claim 1 , wherein the native drive communications protocol is a Small Computer System Interface (SCSI) protocol. 6. The method of claim 1 , wherein the IP-based storage communications protocol is an Internet SCSI (iSCSI) protocol. 7. The method of claim 1 , wherein receiving, by the virtual storage controller, the I/O command from the software application on the user virtual machine, is via a hypervisor. 8. The method of claim 1 , wherein the software application is an operating system. 9. An apparatus comprising a processor having programmed instructions to: receive an input/output (I/O) command at a virtual storage controller from a software application on a single user virtual machine to: determine whether a first service virtual machine on a same node as the virtual storage controller is unresponsive to the apparatus; ping the first service virtual machine; detect whether the first service virtual machine fails to respond to the apparatus within a pre-determined amount of time after pinging by the apparatus; embed an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the first service virtual machine being unresponsive to the apparatus; send the embedded I/O command to a second service virtual machine, wherein the second service virtual machine is configured to send the embedded I/O command to a second local storage and receive a response from the second local storage and receive the response from the second service virtual machine. 10. The apparatus of claim 9 , wherein the embedded I/O command comprises a read command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful read operation, an error message, or data retrieval. 11. The apparatus of claim 9 , wherein the embedded I/O command comprises a write command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful write operation, an error message, or data retrieval. 12. The apparatus of claim 9 , wherein the embedded I/O command is a command to test whether a storage device is ready, format the storage device, read block limits for the storage device, reassign blocks for the storage device, verify data, copy data, erase data, determine or retrieve diagnostic data for the storage device, verify data integrity via data on the storage device, retrieve information about the storage device, initiate repair, overwrite data, or encrypt data. 13. The apparatus of claim 9 , wherein the native drive communications protocol is a Small Computer System Interface (SCSI) protocol. 14. The apparatus of claim 9 , wherein the IP-based storage communications protocol is an Internet SCSI (i SCSI) protocol. 15. The apparatus of claim 9 , the processor having further programmed instructions to receive the I/O command from the software application on the single user virtual machine via a first hypervisor. 16. The apparatus of claim 9 , wherein the software application is an operating system. 17. A non-transitory computer-readable storage medium having instructions stored thereon that, upon execution by a computing device, causes the computing device to perform operations comprising: receiving an I/O command using a native drive communications protocol from a software application on a user virtual machine running on a host machine having a virtual storage controller; determining whether a local service virtual machine on a same node as the virtual storage controller is unresponsive to a virtual storage controller on the host machine by: pinging the local service virtual machine; and detecting whether the local service virtual machine has failed to respond to the virtual storage controller within a pre-determined amount of time after pinging by the virtual storage controller; embedding an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the embedded I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the embedded I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine. 18. The storage medium of claim 17 , wherein the embedded I/O command comprises a read command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful read operation, an error message, or data retrieval. 19. The storage medium of claim 17 , wherein the embedded I/O command comprises a write command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful write operation, an error message, or data retrieval. 20. The storage medium of claim 17 , wherein the embedded I/O command is a command to test whether a storage device is ready, format the storage device, read block limits for the storage device, reassign blocks for the storage device, verify data, copy data, erase data, determine or retrieve diagnostic data for the storage device, verify dat
in relation to throughput · CPC title
Hypervisors; Virtual machine monitors · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Hypervisor-specific management and integration aspects · CPC title
by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.