User authentication in a cloud environment
US-9124569-B2 · Sep 1, 2015 · US
US10353777B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10353777-B2 |
| Application number | US-201514927977-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 30, 2015 |
| Priority date | Oct 30, 2015 |
| Publication date | Jul 16, 2019 |
| Grant date | Jul 16, 2019 |
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.
Ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, including: determining a number of storage devices in the storage system; determining a number of unavailable storage devices in the storage system; and determining, for the one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of storage devices in the storage system and the number of unavailable storage devices in the storage system.
Opening claim text (preview).
What is claimed is: 1. A method of ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, the method comprising: by the storage array controller in response to detecting a failure to write each portion of the system configuration update to the storage devices in the storage system: counting, by the storage array controller, a number of unavailable storage devices in the storage system, wherein a storage device is considered unavailable if the storage array controller is not able to determine contents of the storage device; determining, for one or more system configurations, whether each system configuration can be reconstructed in dependence upon the number of unavailable storage devices in the storage system; selecting, from each system configuration that can be reconstructed, a most recent system configuration; and responsive to determining that the most recent system configuration can be reconstructed, reconstructing the most recent system configuration using portions of the most recent system configuration stored separately on the storage devices included in the storage system, wherein the reconstructed most recent system configuration is used by the storage array controller to access the storage devices in the storage system. 2. The method of claim 1 further comprising: determining, for a particular configuration, a number of storage devices in the storage system that have stored a portion of the particular system configuration; and determining whether the particular system configuration can be reconstructed in dependence upon the number of storage devices in the storage system that have stored a portion of the particular system configuration. 3. The method of claim 2 wherein the number of storage devices in the storage system is greater than the number of storage devices that have stored the particular system configuration. 4. The method of claim 1 further comprising reconstructing a missing portion of the selected most recent system configuration utilizing redundancy information. 5. The method of claim 1 , wherein the storage array controller is stateless and does not maintain a copy of the system configuration describing storage devices included in the storage system. 6. An apparatus for ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: by the storage array controller in response to detecting a failure to write each portion of the system configuration update to the storage devices in the storage system: counting, by the storage array controller, a number of unavailable storage devices in the storage system, wherein a storage device is considered unavailable if the storage array controller is not able to determine the contents of the storage device; determining, for one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of unavailable storage devices in the storage system; selecting, from the system configuration that can be reconstructed, a most recent system configuration; and responsive to determining that the most recent system configuration can be reconstructed, reconstructing the most recent system configuration using portions of the most recent system configuration stored separately on the storage devices included in the storage system, wherein the reconstructed most recent system configuration is used by the storage array controller to access the storage devices in the storage system. 7. The apparatus of claim 6 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: determining, for a particular configuration, a number of storage devices in the storage system that have stored a portion of the particular system configuration; and determining whether the particular system configuration can be reconstructed in dependence upon the number of storage devices in the storage system that have stored a portion of the particular system configuration. 8. The apparatus of claim 7 wherein the number of storage devices in the storage system is greater than the number of storage devices that have stored the particular system configuration. 9. The apparatus of claim 6 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: reconstructing a missing portion of the selected most recent system configuration utilizing redundancy information. 10. The apparatus of claim 6 , wherein the storage array controller is stateless and does not maintain a copy of the system configuration describing storage devices included in the storage system. 11. A computer program product for ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, the computer program product including a non-transitory computer readable medium comprising computer program instructions that, when executed, cause a computer to carry out the steps of: by the storage array controller in response to detecting a failure to write each portion of the system configuration update to the storage devices in the storage system: counting, by the storage array controller, a number of unavailable storage devices in the storage system, wherein a storage device is considered unavailable if the storage array controller is not able to determine the contents of the storage device; determining, for one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of unavailable storage devices in the storage system; selecting, from the system configuration that can be reconstructed, a most recent system configuration; and responsive to determining that the most recent system configuration can be reconstructed, reconstructing the most recent system configuration using portions of the most recent system configuration stored separately on the storage devices included in the storage system, wherein the reconstructed most recent system configuration is used by the storage array controller to access the storage devices in the storage system. 12. The computer program product of claim 11 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of: determining, for a particular configuration, a number of storage devices in the storage system that have stored a portion of the particular system configuration; and determining whether the particular system configuration can be reconstructed in dependence upon the number of storage devices in the storage system that have stored a portion of the particular system configuration. 13. The computer program product of claim 12 wherein the number of storage devices in the storage system is greater than the number of storage devices that have stored the particular system configuration. 14. The computer program product of claim 11 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of: reconstructing a missing portion of the selected most rec
Configuration or reconfiguration of storage systems · CPC title
Replication mechanisms · CPC title
Improving the reliability of storage systems · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.